[INFO] cloning repository https://github.com/Marenz/forge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Marenz/forge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarenz%2Fforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarenz%2Fforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c5c36d1defbbf3f54e4dd4ac9137c362890967d6
[INFO] testing Marenz/forge against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarenz%2Fforge" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Marenz/forge
[INFO] finished tweaking git repo https://github.com/Marenz/forge
[INFO] tweaked toml for git repo https://github.com/Marenz/forge written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Marenz/forge on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Marenz/forge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f2b7a7044daff96dccc8e63bbc14b474759abd10fb16ec1db6301a4633224eff
[INFO] running `Command { std: "docker" "start" "-a" "f2b7a7044daff96dccc8e63bbc14b474759abd10fb16ec1db6301a4633224eff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2b7a7044daff96dccc8e63bbc14b474759abd10fb16ec1db6301a4633224eff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2b7a7044daff96dccc8e63bbc14b474759abd10fb16ec1db6301a4633224eff", kill_on_drop: false }`
[INFO] [stdout] f2b7a7044daff96dccc8e63bbc14b474759abd10fb16ec1db6301a4633224eff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cd432f0b0d279200a7f8a75760f9661e041d402e225b0cf430a9e0582176f085
[INFO] running `Command { std: "docker" "start" "-a" "cd432f0b0d279200a7f8a75760f9661e041d402e225b0cf430a9e0582176f085", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling cranelift-srcgen v0.119.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling cranelift-assembler-x64-meta v0.119.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cranelift-isle v0.119.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.119.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.119.1
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling cranelift-bitset v0.119.1
[INFO] [stderr]    Compiling cranelift-assembler-x64 v0.119.1
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling cranelift-entity v0.119.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling arbitrary v1.4.2
[INFO] [stderr]    Compiling cranelift-bforest v0.119.1
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling regalloc2 v0.11.2
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling cranelift-control v0.119.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling cranelift-codegen v0.119.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling region v3.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling wasmtime-jit-icache-coherence v32.0.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling errno v0.2.8
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling exec v0.3.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling cranelift-module v0.119.1
[INFO] [stderr]    Compiling cranelift-frontend v0.119.1
[INFO] [stderr]    Compiling cranelift-native v0.119.1
[INFO] [stderr]    Compiling cranelift-jit v0.119.1
[INFO] [stderr]    Compiling cranelift v0.119.1
[INFO] [stderr]    Compiling adapsis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EVAL_TIMEOUT_SECS`
[INFO] [stdout]  --> src/api/execute.rs:8:68
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{AppConfig, MutationResult, TestCaseResult, WorkingSet, EVAL_TIMEOUT_SECS};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AgentCompletionCallback` and `CodeExecutionResult`
[INFO] [stdout]   --> src/api/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     CodeExecutionResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     AgentCompletionCallback,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/session.rs:524:33
[INFO] [stdout]     |
[INFO] [stdout] 524 | ...                   let sender = sender.clone();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/eval/mod.rs:866:13
[INFO] [stdout]     |
[INFO] [stdout] 866 |         let call = ast::CallExpr {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `io_sender`
[INFO] [stdout]     --> src/eval/mod.rs:1349:17
[INFO] [stdout]      |
[INFO] [stdout] 1349 |             let io_sender = runtime.io_sender();
[INFO] [stdout]      |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_io_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/eval/mod.rs:2176:32
[INFO] [stdout]      |
[INFO] [stdout] 2176 |                 let (reply_tx, mut reply_rx) = tokio::sync::oneshot::channel();
[INFO] [stdout]      |                                ----^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dot_pos`
[INFO] [stdout]    --> src/validator.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 if let Some(dot_pos) = target.find('.') {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dot_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lib_errors` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1573:25
[INFO] [stdout]      |
[INFO] [stdout] 1573 |                     let mut lib_errors = 0usize;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_lib_errors` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lib_errors` is never read
[INFO] [stdout]     --> src/main.rs:1577:29
[INFO] [stdout]      |
[INFO] [stdout] 1577 | ...                   lib_errors += 1;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVAL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/api/mod.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) const EVAL_TIMEOUT_SECS: u64 = 120;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ok_silent` is never used
[INFO] [stdout]    --> src/api/execute.rs:154:19
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl OperationResult {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) fn ok_silent(&self, msg: impl Into<String>) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_activity` is never used
[INFO] [stdout]    --> src/api/llm_handlers.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | async fn log_activity(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InternedName` is never used
[INFO] [stdout]   --> src/ast.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type InternedName = crate::intern::InternedId;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_file`, `is_empty`, and `mime_from_extension` are never used
[INFO] [stdout]   --> src/attachment.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Attachment {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn from_file(path: PathBuf, mime_type: impl Into<String>, name: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn mime_from_extension(name: &str) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `category` is never read
[INFO] [stdout]   --> src/builtins.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Builtin {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub category: BuiltinCategory,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_builtin_names` is never used
[INFO] [stdout]     --> src/builtins.rs:1396:8
[INFO] [stdout]      |
[INFO] [stdout] 1396 | pub fn all_builtin_names() -> Vec<&'static str> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_fully_compilable` is never used
[INFO] [stdout]    --> src/compiler.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn is_fully_compilable(program: &ast::Program) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_mock_with_sender`, `registry`, and `complete_snapshot` are never used
[INFO] [stdout]    --> src/coroutine/mod.rs:762:12
[INFO] [stdout]     |
[INFO] [stdout] 733 | impl CoroutineHandle {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 762 |     pub fn new_mock_with_sender(mocks: Vec<crate::session::IoMock>, io_tx: mpsc::Sender<IoRequest>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub fn registry(&self) -> Option<&TaskRegistry> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 823 |     pub fn complete_snapshot(&self, function_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `strct`, `as_str`, `as_list`, `as_list_mut`, and `get_field` are never used
[INFO] [stdout]    --> src/eval/mod.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl Value {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn strct(name: impl AsRef<str>, fields: HashMap<String, Value>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn as_str(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn as_list(&self) -> Option<&[Value]> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn as_list_mut(&mut self) -> Option<&mut Vec<Value>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn get_field(&self, field: &str) -> Option<&Value> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_with_interner`, `set_id`, and `get_id` are never used
[INFO] [stdout]    --> src/eval/mod.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl Env {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 307 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn new_with_interner(interner: &StringInterner) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub fn set_id(&mut self, id: InternedId, value: Value) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn get_id(&self, id: InternedId) -> Option<&Value> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_vm_eval` is never used
[INFO] [stdout]     --> src/eval/mod.rs:4079:8
[INFO] [stdout]      |
[INFO] [stdout] 4079 | pub fn try_vm_eval(
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_vm_eval_async` is never used
[INFO] [stdout]     --> src/eval/mod.rs:4099:8
[INFO] [stdout]      |
[INFO] [stdout] 4099 | pub fn try_vm_eval_async(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `tool` is never used
[INFO] [stdout]    --> src/llm.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl ChatMessage {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn tool(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> src/llm.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct LlmOutput {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub prompt_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub completion_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub total_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LlmOutput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/llm.rs:892:5
[INFO] [stdout]     |
[INFO] [stdout] 889 | struct ChatCompletionResponse {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 892 |     usage: Option<TokenUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatCompletionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> src/llm.rs:898:5
[INFO] [stdout]     |
[INFO] [stdout] 896 | struct TokenUsage {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 897 |     #[serde(default)]
[INFO] [stdout] 898 |     prompt_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 899 |     #[serde(default)]
[INFO] [stdout] 900 |     completion_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 901 |     #[serde(default)]
[INFO] [stdout] 902 |     total_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_registries` is never used
[INFO] [stdout]   --> src/orchestrator.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<B: LlmBackend> Orchestrator<B> {
[INFO] [stdout]    | ----------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_registries(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_type_expr` is never used
[INFO] [stdout]     --> src/parser.rs:2304:8
[INFO] [stdout]      |
[INFO] [stdout] 2304 | pub fn parse_type_expr(input: &str) -> Result<TypeExpr> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/session.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl FailureHistory {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task` and `fork_revision` are never read
[INFO] [stdout]    --> src/session.rs:363:9
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct AgentBranch {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub task: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 364 |     pub fork_revision: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentBranch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `fork`, `runtime`, `apply`, and `merge_into` are never used
[INFO] [stdout]    --> src/session.rs:375:12
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl AgentBranch {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 374 |     /// Create a new branch forked from the current session state.
[INFO] [stdout] 375 |     pub fn fork(name: &str, scope: AgentScope, task: &str, session: &Session) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn runtime(&self) -> &RuntimeState {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn apply(&mut self, source: &str) -> Result<Vec<(String, bool)>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn merge_into(self, session: &mut Session) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_temporary` and `with_callback` are never used
[INFO] [stdout]    --> src/session.rs:672:12
[INFO] [stdout]     |
[INFO] [stdout] 660 | impl Conversation {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 672 |     pub fn new_temporary() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 679 |     pub fn with_callback(mut self, reply_fn: String, reply_arg: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `prune_temporary`, and `list_contexts` are never used
[INFO] [stdout]    --> src/session.rs:745:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl ConversationManager {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 745 |     pub fn remove(&mut self, context: &str) -> Option<Conversation> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 750 |     pub fn prune_temporary(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 755 |     pub fn list_contexts(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/session.rs:771:12
[INFO] [stdout]      |
[INFO] [stdout]  760 | impl Session {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  771 |     pub fn send_agent_message(&mut self, from: &str, to: &str, content: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  776 |     pub fn drain_messages(&mut self, agent_name: &str) -> Vec<AgentMessage> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  781 |     pub fn peek_messages(&self, agent_name: &str) -> &[AgentMessage] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  787 |     pub fn is_function_tested(&self, fn_name: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  841 |     pub fn remove_routes_for_handler(&mut self, handler_name: &str) -> Vec<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  855 |     pub fn get_routes(&self) -> &[ast::HttpRoute] {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  860 |     pub fn find_route(&self, method: &str, path: &str) -> Option<&ast::HttpRoute> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1418 |     pub fn parse_operations(&self, source: &str) -> Result<Vec<parser::Operation>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1423 |     pub fn record_eval(&mut self, function: &str, input: &str, result: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1428 |     pub fn record_test(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1439 |     pub fn record_query(&mut self, query: &str, response: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1444 |     pub fn record_trace(&mut self, function: &str, steps: usize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1449 |     pub fn rewind_to(&mut self, target_revision: usize) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_eval` is never used
[INFO] [stdout]     --> src/session.rs:1852:8
[INFO] [stdout]      |
[INFO] [stdout] 1852 | pub fn record_eval(meta: &mut SessionMeta, function: &str, input: &str, result: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_test` is never used
[INFO] [stdout]     --> src/session.rs:1861:8
[INFO] [stdout]      |
[INFO] [stdout] 1861 | pub fn record_test(meta: &mut SessionMeta, function: &str, passed: usize, failed: usize, details: Vec<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_query` is never used
[INFO] [stdout]     --> src/session.rs:1871:8
[INFO] [stdout]      |
[INFO] [stdout] 1871 | pub fn record_query(meta: &mut SessionMeta, query: &str, response: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_trace` is never used
[INFO] [stdout]     --> src/session.rs:1879:8
[INFO] [stdout]      |
[INFO] [stdout] 1879 | pub fn record_trace(meta: &mut SessionMeta, function: &str, steps: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `roadmap_done` is never used
[INFO] [stdout]     --> src/session.rs:1939:8
[INFO] [stdout]      |
[INFO] [stdout] 1939 | pub fn roadmap_done(roadmap: &mut Vec<RoadmapItem>, n: usize) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_expr_pub` is never used
[INFO] [stdout]     --> src/session.rs:2022:8
[INFO] [stdout]      |
[INFO] [stdout] 2022 | pub fn format_expr_pub(expr: &parser::Expr) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty` and `install_with_interner` are never used
[INFO] [stdout]    --> src/shared_state.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl EvalContext {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn install_with_interner(&self, program: &crate::ast::Program) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BranchIf`, `Dup`, and `MakeList` are never constructed
[INFO] [stdout]    --> src/vm.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub enum Op {
[INFO] [stdout]     |          -- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  95 |     BranchIf(usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     Dup,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     MakeList(usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_name` is never read
[INFO] [stdout]    --> src/vm.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct VmState {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 148 |     /// Name of the currently executing function (for diagnostics).
[INFO] [stdout] 149 |     pub function_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VmState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param_names` and `local_names` are never read
[INFO] [stdout]    --> src/vm.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct CompiledFunction {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub param_names: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 173 |     /// All local variable names in slot order (for debug/inspect).
[INFO] [stdout] 174 |     pub local_names: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CompiledFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute` is never used
[INFO] [stdout]    --> src/vm.rs:688:8
[INFO] [stdout]     |
[INFO] [stdout] 688 | pub fn execute(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resume` is never used
[INFO] [stdout]    --> src/vm.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 | pub fn resume(mut vm_state: VmState, io_result: Value, program: &ast::Program) -> Result<VmResult> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "cd432f0b0d279200a7f8a75760f9661e041d402e225b0cf430a9e0582176f085", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd432f0b0d279200a7f8a75760f9661e041d402e225b0cf430a9e0582176f085", kill_on_drop: false }`
[INFO] [stdout] cd432f0b0d279200a7f8a75760f9661e041d402e225b0cf430a9e0582176f085
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2d7ff4de01874c1b9aa2a2c3071d64cb88c324974422963432483dde81a041f
[INFO] running `Command { std: "docker" "start" "-a" "d2d7ff4de01874c1b9aa2a2c3071d64cb88c324974422963432483dde81a041f", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling adapsis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EVAL_TIMEOUT_SECS`
[INFO] [stdout]  --> src/api/execute.rs:8:68
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{AppConfig, MutationResult, TestCaseResult, WorkingSet, EVAL_TIMEOUT_SECS};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AgentCompletionCallback`
[INFO] [stdout]   --> src/api/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     AgentCompletionCallback,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]     --> src/vm.rs:1187:9
[INFO] [stdout]      |
[INFO] [stdout] 1187 |     use std::sync::Arc;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/session.rs:524:33
[INFO] [stdout]     |
[INFO] [stdout] 524 | ...                   let sender = sender.clone();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/api/tests.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |     let res = execute_code(test_code, &config, &mut session, None).await;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/api/tests.rs:748:9
[INFO] [stdout]     |
[INFO] [stdout] 748 |     let res = execute_code(test_code, &config, &mut session, None).await;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]     --> src/api/tests.rs:1014:18
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     let (router, config) = test_router();
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/api/tests.rs:1442:9
[INFO] [stdout]      |
[INFO] [stdout] 1442 |     let mut session = config.snapshot_working_set().await;
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]     --> src/api/tests.rs:1442:9
[INFO] [stdout]      |
[INFO] [stdout] 1442 |     let mut session = config.snapshot_working_set().await;
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/eval/mod.rs:866:13
[INFO] [stdout]     |
[INFO] [stdout] 866 |         let call = ast::CallExpr {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `io_sender`
[INFO] [stdout]     --> src/eval/mod.rs:1349:17
[INFO] [stdout]      |
[INFO] [stdout] 1349 |             let io_sender = runtime.io_sender();
[INFO] [stdout]      |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_io_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/eval/mod.rs:2176:32
[INFO] [stdout]      |
[INFO] [stdout] 2176 |                 let (reply_tx, mut reply_rx) = tokio::sync::oneshot::channel();
[INFO] [stdout]      |                                ----^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/eval/tests.rs:4174:9
[INFO] [stdout]      |
[INFO] [stdout] 4174 |     let mut env = Env::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/eval/tests.rs:4203:9
[INFO] [stdout]      |
[INFO] [stdout] 4203 |     let mut program = build_program(source);
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/parser.rs:5945:17
[INFO] [stdout]      |
[INFO] [stdout] 5945 |                 model,
[INFO] [stdout]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/parser.rs:5963:17
[INFO] [stdout]      |
[INFO] [stdout] 5963 |                 model,
[INFO] [stdout]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/parser.rs:5981:17
[INFO] [stdout]      |
[INFO] [stdout] 5981 |                 model,
[INFO] [stdout]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ops`
[INFO] [stdout]     --> src/parser.rs:6581:21
[INFO] [stdout]      |
[INFO] [stdout] 6581 |                 let ops = parse("+source add timer(300000) poll -> on_tick");
[INFO] [stdout]      |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dot_pos`
[INFO] [stdout]    --> src/validator.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 if let Some(dot_pos) = target.find('.') {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dot_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lib_errors` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1573:25
[INFO] [stdout]      |
[INFO] [stdout] 1573 |                     let mut lib_errors = 0usize;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_lib_errors` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lib_errors` is never read
[INFO] [stdout]     --> src/main.rs:1577:29
[INFO] [stdout]      |
[INFO] [stdout] 1577 | ...                   lib_errors += 1;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVAL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/api/mod.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) const EVAL_TIMEOUT_SECS: u64 = 120;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ok_silent` is never used
[INFO] [stdout]    --> src/api/execute.rs:154:19
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl OperationResult {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) fn ok_silent(&self, msg: impl Into<String>) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_activity` is never used
[INFO] [stdout]    --> src/api/llm_handlers.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | async fn log_activity(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InternedName` is never used
[INFO] [stdout]   --> src/ast.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type InternedName = crate::intern::InternedId;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/attachment.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Attachment {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `registry` and `complete_snapshot` are never used
[INFO] [stdout]    --> src/coroutine/mod.rs:770:12
[INFO] [stdout]     |
[INFO] [stdout] 733 | impl CoroutineHandle {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub fn registry(&self) -> Option<&TaskRegistry> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 823 |     pub fn complete_snapshot(&self, function_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_vm_eval` is never used
[INFO] [stdout]     --> src/eval/mod.rs:4079:8
[INFO] [stdout]      |
[INFO] [stdout] 4079 | pub fn try_vm_eval(
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_vm_eval_async` is never used
[INFO] [stdout]     --> src/eval/mod.rs:4099:8
[INFO] [stdout]      |
[INFO] [stdout] 4099 | pub fn try_vm_eval_async(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `tool` is never used
[INFO] [stdout]    --> src/llm.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl ChatMessage {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn tool(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> src/llm.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct LlmOutput {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub prompt_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub completion_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub total_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LlmOutput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/llm.rs:892:5
[INFO] [stdout]     |
[INFO] [stdout] 889 | struct ChatCompletionResponse {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 892 |     usage: Option<TokenUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatCompletionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> src/llm.rs:898:5
[INFO] [stdout]     |
[INFO] [stdout] 896 | struct TokenUsage {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 897 |     #[serde(default)]
[INFO] [stdout] 898 |     prompt_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 899 |     #[serde(default)]
[INFO] [stdout] 900 |     completion_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 901 |     #[serde(default)]
[INFO] [stdout] 902 |     total_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_registries` is never used
[INFO] [stdout]   --> src/orchestrator.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<B: LlmBackend> Orchestrator<B> {
[INFO] [stdout]    | ----------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_registries(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_type_expr` is never used
[INFO] [stdout]     --> src/parser.rs:2304:8
[INFO] [stdout]      |
[INFO] [stdout] 2304 | pub fn parse_type_expr(input: &str) -> Result<TypeExpr> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task` is never read
[INFO] [stdout]    --> src/session.rs:363:9
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct AgentBranch {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub task: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentBranch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `runtime` is never used
[INFO] [stdout]    --> src/session.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl AgentBranch {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn runtime(&self) -> &RuntimeState {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_temporary` is never used
[INFO] [stdout]    --> src/session.rs:672:12
[INFO] [stdout]     |
[INFO] [stdout] 660 | impl Conversation {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 672 |     pub fn new_temporary() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove` and `list_contexts` are never used
[INFO] [stdout]    --> src/session.rs:745:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl ConversationManager {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 745 |     pub fn remove(&mut self, context: &str) -> Option<Conversation> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 755 |     pub fn list_contexts(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/session.rs:771:12
[INFO] [stdout]      |
[INFO] [stdout]  760 | impl Session {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  771 |     pub fn send_agent_message(&mut self, from: &str, to: &str, content: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  776 |     pub fn drain_messages(&mut self, agent_name: &str) -> Vec<AgentMessage> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  781 |     pub fn peek_messages(&self, agent_name: &str) -> &[AgentMessage] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  841 |     pub fn remove_routes_for_handler(&mut self, handler_name: &str) -> Vec<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  855 |     pub fn get_routes(&self) -> &[ast::HttpRoute] {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  860 |     pub fn find_route(&self, method: &str, path: &str) -> Option<&ast::HttpRoute> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1418 |     pub fn parse_operations(&self, source: &str) -> Result<Vec<parser::Operation>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1423 |     pub fn record_eval(&mut self, function: &str, input: &str, result: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1428 |     pub fn record_test(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1439 |     pub fn record_query(&mut self, query: &str, response: &str) {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1444 |     pub fn record_trace(&mut self, function: &str, steps: usize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1449 |     pub fn rewind_to(&mut self, target_revision: usize) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_eval` is never used
[INFO] [stdout]     --> src/session.rs:1852:8
[INFO] [stdout]      |
[INFO] [stdout] 1852 | pub fn record_eval(meta: &mut SessionMeta, function: &str, input: &str, result: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_test` is never used
[INFO] [stdout]     --> src/session.rs:1861:8
[INFO] [stdout]      |
[INFO] [stdout] 1861 | pub fn record_test(meta: &mut SessionMeta, function: &str, passed: usize, failed: usize, details: Vec<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_query` is never used
[INFO] [stdout]     --> src/session.rs:1871:8
[INFO] [stdout]      |
[INFO] [stdout] 1871 | pub fn record_query(meta: &mut SessionMeta, query: &str, response: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_trace` is never used
[INFO] [stdout]     --> src/session.rs:1879:8
[INFO] [stdout]      |
[INFO] [stdout] 1879 | pub fn record_trace(meta: &mut SessionMeta, function: &str, steps: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `roadmap_done` is never used
[INFO] [stdout]     --> src/session.rs:1939:8
[INFO] [stdout]      |
[INFO] [stdout] 1939 | pub fn roadmap_done(roadmap: &mut Vec<RoadmapItem>, n: usize) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty` and `install_with_interner` are never used
[INFO] [stdout]    --> src/shared_state.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl EvalContext {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn install_with_interner(&self, program: &crate::ast::Program) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BranchIf`, `Dup`, and `MakeList` are never constructed
[INFO] [stdout]    --> src/vm.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub enum Op {
[INFO] [stdout]     |          -- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  95 |     BranchIf(usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     Dup,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     MakeList(usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_name` is never read
[INFO] [stdout]    --> src/vm.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct VmState {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 148 |     /// Name of the currently executing function (for diagnostics).
[INFO] [stdout] 149 |     pub function_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VmState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resume` is never used
[INFO] [stdout]    --> src/vm.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 | pub fn resume(mut vm_state: VmState, io_result: Value, program: &ast::Program) -> Result<VmResult> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | /     create_session(
[INFO] [stdout] 183 | |         State(config.clone()),
[INFO] [stdout] 184 | |         Json(CreateSessionRequest {
[INFO] [stdout] 185 | |             session_id: "dup".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | /     create_session(
[INFO] [stdout] 210 | |         State(config.clone()),
[INFO] [stdout] 211 | |         Json(CreateSessionRequest {
[INFO] [stdout] 212 | |             session_id: "to-delete".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 215 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     create_session(
[INFO] [stdout] 276 | |         State(config.clone()),
[INFO] [stdout] 277 | |         Json(CreateSessionRequest {
[INFO] [stdout] 278 | |             session_id: "eval-test".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | /     create_session(
[INFO] [stdout] 303 | |         State(config.clone()),
[INFO] [stdout] 304 | |         Json(CreateSessionRequest {
[INFO] [stdout] 305 | |             session_id: "fn-test".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` that must be used
[INFO] [stdout]    --> src/api/tests.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | /     session_mutate(
[INFO] [stdout] 312 | |         State(config.clone()),
[INFO] [stdout] 313 | |         axum::extract::Path("fn-test".to_string()),
[INFO] [stdout] 314 | |         Json(MutateRequest {
[INFO] [stdout] ...   |
[INFO] [stdout] 318 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let _ = session_mutate(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | /     create_session(
[INFO] [stdout] 343 | |         State(config.clone()),
[INFO] [stdout] 344 | |         Json(CreateSessionRequest {
[INFO] [stdout] 345 | |             session_id: "mut-test".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 348 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 | /     create_session(
[INFO] [stdout] 395 | |         State(config.clone()),
[INFO] [stdout] 396 | |         Json(CreateSessionRequest {
[INFO] [stdout] 397 | |             session_id: "session-a".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 400 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stdout]    --> src/api/tests.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 401 | /     create_session(
[INFO] [stdout] 402 | |         State(config.clone()),
[INFO] [stdout] 403 | |         Json(CreateSessionRequest {
[INFO] [stdout] 404 | |             session_id: "session-b".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 407 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `axum::Json` that must be used
[INFO] [stdout]    --> src/api/tests.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     session_mutate(
[INFO] [stdout] 411 | |         State(config.clone()),
[INFO] [stdout] 412 | |         axum::extract::Path("session-a".to_string()),
[INFO] [stdout] 413 | |         Json(MutateRequest {
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let _ = session_mutate(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 41.20s
[INFO] running `Command { std: "docker" "inspect" "d2d7ff4de01874c1b9aa2a2c3071d64cb88c324974422963432483dde81a041f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2d7ff4de01874c1b9aa2a2c3071d64cb88c324974422963432483dde81a041f", kill_on_drop: false }`
[INFO] [stdout] d2d7ff4de01874c1b9aa2a2c3071d64cb88c324974422963432483dde81a041f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 84c9046a57acc8438de27da10c6226b4d272b9ceb87307cde37d1b45034c2ef2
[INFO] running `Command { std: "docker" "start" "-a" "84c9046a57acc8438de27da10c6226b4d272b9ceb87307cde37d1b45034c2ef2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `EVAL_TIMEOUT_SECS`
[INFO] [stderr]  --> src/api/execute.rs:8:68
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::{AppConfig, MutationResult, TestCaseResult, WorkingSet, EVAL_TIMEOUT_SECS};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AgentCompletionCallback`
[INFO] [stderr]   --> src/api/mod.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     AgentCompletionCallback,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]     --> src/vm.rs:1187:9
[INFO] [stderr]      |
[INFO] [stderr] 1187 |     use std::sync::Arc;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender`
[INFO] [stderr]    --> src/session.rs:524:33
[INFO] [stderr]     |
[INFO] [stderr] 524 | ...                   let sender = sender.clone();
[INFO] [stderr]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]    --> src/api/tests.rs:712:9
[INFO] [stderr]     |
[INFO] [stderr] 712 |     let res = execute_code(test_code, &config, &mut session, None).await;
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]    --> src/api/tests.rs:748:9
[INFO] [stderr]     |
[INFO] [stderr] 748 |     let res = execute_code(test_code, &config, &mut session, None).await;
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]     --> src/api/tests.rs:1014:18
[INFO] [stderr]      |
[INFO] [stderr] 1014 |     let (router, config) = test_router();
[INFO] [stderr]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/api/tests.rs:1442:9
[INFO] [stderr]      |
[INFO] [stderr] 1442 |     let mut session = config.snapshot_working_set().await;
[INFO] [stderr]      |         ----^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]     --> src/api/tests.rs:1442:9
[INFO] [stderr]      |
[INFO] [stderr] 1442 |     let mut session = config.snapshot_working_set().await;
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `call`
[INFO] [stderr]    --> src/eval/mod.rs:866:13
[INFO] [stderr]     |
[INFO] [stderr] 866 |         let call = ast::CallExpr {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `io_sender`
[INFO] [stderr]     --> src/eval/mod.rs:1349:17
[INFO] [stderr]      |
[INFO] [stderr] 1349 |             let io_sender = runtime.io_sender();
[INFO] [stderr]      |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_io_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/eval/mod.rs:2176:32
[INFO] [stderr]      |
[INFO] [stderr] 2176 |                 let (reply_tx, mut reply_rx) = tokio::sync::oneshot::channel();
[INFO] [stderr]      |                                ----^^^^^^^^
[INFO] [stderr]      |                                |
[INFO] [stderr]      |                                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/eval/tests.rs:4174:9
[INFO] [stderr]      |
[INFO] [stderr] 4174 |     let mut env = Env::new();
[INFO] [stderr]      |         ----^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/eval/tests.rs:4203:9
[INFO] [stderr]      |
[INFO] [stderr] 4203 |     let mut program = build_program(source);
[INFO] [stderr]      |         ----^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]     --> src/parser.rs:5945:17
[INFO] [stderr]      |
[INFO] [stderr] 5945 |                 model,
[INFO] [stderr]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]     --> src/parser.rs:5963:17
[INFO] [stderr]      |
[INFO] [stderr] 5963 |                 model,
[INFO] [stderr]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]     --> src/parser.rs:5981:17
[INFO] [stderr]      |
[INFO] [stderr] 5981 |                 model,
[INFO] [stderr]      |                 ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ops`
[INFO] [stderr]     --> src/parser.rs:6581:21
[INFO] [stderr]      |
[INFO] [stderr] 6581 |                 let ops = parse("+source add timer(300000) poll -> on_tick");
[INFO] [stderr]      |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ops`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dot_pos`
[INFO] [stderr]    --> src/validator.rs:145:29
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 if let Some(dot_pos) = target.find('.') {
[INFO] [stderr]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dot_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `lib_errors` is assigned to, but never used
[INFO] [stderr]     --> src/main.rs:1573:25
[INFO] [stderr]      |
[INFO] [stderr] 1573 |                     let mut lib_errors = 0usize;
[INFO] [stderr]      |                         ^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: consider using `_lib_errors` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `lib_errors` is never read
[INFO] [stderr]     --> src/main.rs:1577:29
[INFO] [stderr]      |
[INFO] [stderr] 1577 | ...                   lib_errors += 1;
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EVAL_TIMEOUT_SECS` is never used
[INFO] [stderr]   --> src/api/mod.rs:28:18
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub(crate) const EVAL_TIMEOUT_SECS: u64 = 120;
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `ok_silent` is never used
[INFO] [stderr]    --> src/api/execute.rs:154:19
[INFO] [stderr]     |
[INFO] [stderr] 134 | impl OperationResult {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub(super) fn ok_silent(&self, msg: impl Into<String>) {
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `log_activity` is never used
[INFO] [stderr]    --> src/api/llm_handlers.rs:144:10
[INFO] [stderr]     |
[INFO] [stderr] 144 | async fn log_activity(
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `InternedName` is never used
[INFO] [stderr]   --> src/ast.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub type InternedName = crate::intern::InternedId;
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_empty` is never used
[INFO] [stderr]   --> src/attachment.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl Attachment {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `registry` and `complete_snapshot` are never used
[INFO] [stderr]    --> src/coroutine/mod.rs:770:12
[INFO] [stderr]     |
[INFO] [stderr] 733 | impl CoroutineHandle {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 770 |     pub fn registry(&self) -> Option<&TaskRegistry> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 823 |     pub fn complete_snapshot(&self, function_name: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_vm_eval` is never used
[INFO] [stderr]     --> src/eval/mod.rs:4079:8
[INFO] [stderr]      |
[INFO] [stderr] 4079 | pub fn try_vm_eval(
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_vm_eval_async` is never used
[INFO] [stderr]     --> src/eval/mod.rs:4099:8
[INFO] [stderr]      |
[INFO] [stderr] 4099 | pub fn try_vm_eval_async(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `tool` is never used
[INFO] [stderr]    --> src/llm.rs:119:12
[INFO] [stderr]     |
[INFO] [stderr]  97 | impl ChatMessage {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn tool(content: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stderr]    --> src/llm.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub struct LlmOutput {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub prompt_tokens: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 144 |     pub completion_tokens: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 145 |     pub total_tokens: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LlmOutput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `usage` is never read
[INFO] [stderr]    --> src/llm.rs:892:5
[INFO] [stderr]     |
[INFO] [stderr] 889 | struct ChatCompletionResponse {
[INFO] [stderr]     |        ---------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 892 |     usage: Option<TokenUsage>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ChatCompletionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stderr]    --> src/llm.rs:898:5
[INFO] [stderr]     |
[INFO] [stderr] 896 | struct TokenUsage {
[INFO] [stderr]     |        ---------- fields in this struct
[INFO] [stderr] 897 |     #[serde(default)]
[INFO] [stderr] 898 |     prompt_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 899 |     #[serde(default)]
[INFO] [stderr] 900 |     completion_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 901 |     #[serde(default)]
[INFO] [stderr] 902 |     total_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TokenUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_registries` is never used
[INFO] [stderr]   --> src/orchestrator.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<B: LlmBackend> Orchestrator<B> {
[INFO] [stderr]    | ----------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn with_registries(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_type_expr` is never used
[INFO] [stderr]     --> src/parser.rs:2304:8
[INFO] [stderr]      |
[INFO] [stderr] 2304 | pub fn parse_type_expr(input: &str) -> Result<TypeExpr> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `task` is never read
[INFO] [stderr]    --> src/session.rs:363:9
[INFO] [stderr]     |
[INFO] [stderr] 360 | pub struct AgentBranch {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 363 |     pub task: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AgentBranch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `runtime` is never used
[INFO] [stderr]    --> src/session.rs:402:12
[INFO] [stderr]     |
[INFO] [stderr] 373 | impl AgentBranch {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 402 |     pub fn runtime(&self) -> &RuntimeState {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_temporary` is never used
[INFO] [stderr]    --> src/session.rs:672:12
[INFO] [stderr]     |
[INFO] [stderr] 660 | impl Conversation {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 672 |     pub fn new_temporary() -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove` and `list_contexts` are never used
[INFO] [stderr]    --> src/session.rs:745:12
[INFO] [stderr]     |
[INFO] [stderr] 724 | impl ConversationManager {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 745 |     pub fn remove(&mut self, context: &str) -> Option<Conversation> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 755 |     pub fn list_contexts(&self) -> Vec<&str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/session.rs:771:12
[INFO] [stderr]      |
[INFO] [stderr]  760 | impl Session {
[INFO] [stderr]      | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  771 |     pub fn send_agent_message(&mut self, from: &str, to: &str, content: &str) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  776 |     pub fn drain_messages(&mut self, agent_name: &str) -> Vec<AgentMessage> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  781 |     pub fn peek_messages(&self, agent_name: &str) -> &[AgentMessage] {
[INFO] [stderr]      |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  841 |     pub fn remove_routes_for_handler(&mut self, handler_name: &str) -> Vec<String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  855 |     pub fn get_routes(&self) -> &[ast::HttpRoute] {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  860 |     pub fn find_route(&self, method: &str, path: &str) -> Option<&ast::HttpRoute> {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1418 |     pub fn parse_operations(&self, source: &str) -> Result<Vec<parser::Operation>> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1423 |     pub fn record_eval(&mut self, function: &str, input: &str, result: &str) {
[INFO] [stderr]      |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1428 |     pub fn record_test(
[INFO] [stderr]      |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1439 |     pub fn record_query(&mut self, query: &str, response: &str) {
[INFO] [stderr]      |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1444 |     pub fn record_trace(&mut self, function: &str, steps: usize) {
[INFO] [stderr]      |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1449 |     pub fn rewind_to(&mut self, target_revision: usize) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_eval` is never used
[INFO] [stderr]     --> src/session.rs:1852:8
[INFO] [stderr]      |
[INFO] [stderr] 1852 | pub fn record_eval(meta: &mut SessionMeta, function: &str, input: &str, result: &str) {
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_test` is never used
[INFO] [stderr]     --> src/session.rs:1861:8
[INFO] [stderr]      |
[INFO] [stderr] 1861 | pub fn record_test(meta: &mut SessionMeta, function: &str, passed: usize, failed: usize, details: Vec<String>) {
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_query` is never used
[INFO] [stderr]     --> src/session.rs:1871:8
[INFO] [stderr]      |
[INFO] [stderr] 1871 | pub fn record_query(meta: &mut SessionMeta, query: &str, response: &str) {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_trace` is never used
[INFO] [stderr]     --> src/session.rs:1879:8
[INFO] [stderr]      |
[INFO] [stderr] 1879 | pub fn record_trace(meta: &mut SessionMeta, function: &str, steps: usize) {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `roadmap_done` is never used
[INFO] [stderr]     --> src/session.rs:1939:8
[INFO] [stderr]      |
[INFO] [stderr] 1939 | pub fn roadmap_done(roadmap: &mut Vec<RoadmapItem>, n: usize) -> Result<String> {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `empty` and `install_with_interner` are never used
[INFO] [stderr]    --> src/shared_state.rs:166:12
[INFO] [stderr]     |
[INFO] [stderr] 131 | impl EvalContext {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub fn empty() -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     pub fn install_with_interner(&self, program: &crate::ast::Program) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `BranchIf`, `Dup`, and `MakeList` are never constructed
[INFO] [stderr]    --> src/vm.rs:95:5
[INFO] [stderr]     |
[INFO] [stderr]  21 | pub enum Op {
[INFO] [stderr]     |          -- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  95 |     BranchIf(usize),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     Dup,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     MakeList(usize),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `function_name` is never read
[INFO] [stderr]    --> src/vm.rs:149:9
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub struct VmState {
[INFO] [stderr]     |            ------- field in this struct
[INFO] [stderr] 148 |     /// Name of the currently executing function (for diagnostics).
[INFO] [stderr] 149 |     pub function_name: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `VmState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `resume` is never used
[INFO] [stderr]    --> src/vm.rs:727:8
[INFO] [stderr]     |
[INFO] [stderr] 727 | pub fn resume(mut vm_state: VmState, io_result: Value, program: &ast::Program) -> Result<VmResult> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 | /     create_session(
[INFO] [stderr] 183 | |         State(config.clone()),
[INFO] [stderr] 184 | |         Json(CreateSessionRequest {
[INFO] [stderr] 185 | |             session_id: "dup".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 188 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:209:5
[INFO] [stderr]     |
[INFO] [stderr] 209 | /     create_session(
[INFO] [stderr] 210 | |         State(config.clone()),
[INFO] [stderr] 211 | |         Json(CreateSessionRequest {
[INFO] [stderr] 212 | |             session_id: "to-delete".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 215 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:275:5
[INFO] [stderr]     |
[INFO] [stderr] 275 | /     create_session(
[INFO] [stderr] 276 | |         State(config.clone()),
[INFO] [stderr] 277 | |         Json(CreateSessionRequest {
[INFO] [stderr] 278 | |             session_id: "eval-test".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 281 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:302:5
[INFO] [stderr]     |
[INFO] [stderr] 302 | /     create_session(
[INFO] [stderr] 303 | |         State(config.clone()),
[INFO] [stderr] 304 | |         Json(CreateSessionRequest {
[INFO] [stderr] 305 | |             session_id: "fn-test".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 308 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` that must be used
[INFO] [stderr]    --> src/api/tests.rs:311:5
[INFO] [stderr]     |
[INFO] [stderr] 311 | /     session_mutate(
[INFO] [stderr] 312 | |         State(config.clone()),
[INFO] [stderr] 313 | |         axum::extract::Path("fn-test".to_string()),
[INFO] [stderr] 314 | |         Json(MutateRequest {
[INFO] [stderr] ...   |
[INFO] [stderr] 318 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 311 |     let _ = session_mutate(
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:342:5
[INFO] [stderr]     |
[INFO] [stderr] 342 | /     create_session(
[INFO] [stderr] 343 | |         State(config.clone()),
[INFO] [stderr] 344 | |         Json(CreateSessionRequest {
[INFO] [stderr] 345 | |             session_id: "mut-test".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 348 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:394:5
[INFO] [stderr]     |
[INFO] [stderr] 394 | /     create_session(
[INFO] [stderr] 395 | |         State(config.clone()),
[INFO] [stderr] 396 | |         Json(CreateSessionRequest {
[INFO] [stderr] 397 | |             session_id: "session-a".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 400 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` in tuple element 1 that must be used
[INFO] [stderr]    --> src/api/tests.rs:401:5
[INFO] [stderr]     |
[INFO] [stderr] 401 | /     create_session(
[INFO] [stderr] 402 | |         State(config.clone()),
[INFO] [stderr] 403 | |         Json(CreateSessionRequest {
[INFO] [stderr] 404 | |             session_id: "session-b".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 407 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `axum::Json` that must be used
[INFO] [stderr]    --> src/api/tests.rs:410:5
[INFO] [stderr]     |
[INFO] [stderr] 410 | /     session_mutate(
[INFO] [stderr] 411 | |         State(config.clone()),
[INFO] [stderr] 412 | |         axum::extract::Path("session-a".to_string()),
[INFO] [stderr] 413 | |         Json(MutateRequest {
[INFO] [stderr] ...   |
[INFO] [stderr] 417 | |     .await;
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 410 |     let _ = session_mutate(
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `adapsis` (bin "adapsis" test) generated 58 warnings (run `cargo fix --bin "adapsis" -p adapsis --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/adapsis-b064f7e30fd79ea0)
[INFO] [stdout] 
[INFO] [stdout] running 1134 tests
[INFO] [stdout] test api::tests::conversation_to_llm_messages ... ok
[INFO] [stdout] test api::tests::conversation_trim_preserves_system ... ok
[INFO] [stdout] test api::tests::collect_opencode_tasks_ignores_non_opencode_ops ... ok
[INFO] [stdout] test api::tests::collect_opencode_tasks_keeps_all_in_order ... ok
[INFO] [stdout] test api::tests::create_session_duplicate_rejected ... ok
[INFO] [stdout] test api::tests::create_session_happy_path ... ok
[INFO] [stdout] test api::tests::create_session_empty_id_rejected ... ok
[INFO] [stdout] test api::tests::create_session_main_reserved ... ok
[INFO] [stdout] test api::tests::env_creations_set_shared_runtime ... ok
[INFO] [stdout] test api::tests::delete_session_not_found ... ok
[INFO] [stdout] test api::tests::delete_session_main_rejected ... ok
[INFO] [stdout] test api::tests::delete_session_happy_path ... ok
[INFO] [stdout] test api::tests::eval_error_broadcasts_sse_event ... ok
[INFO] [stdout] test api::tests::events_stream_sets_sse_headers ... ok
[INFO] [stdout] test api::tests::execute_code_permission_blocks_opencode ... ok
[INFO] [stdout] test api::tests::execute_code_agent_spawned_flag ... ok
[INFO] [stdout] test api::tests::list_sessions_includes_created_sessions ... ok
[INFO] [stdout] test api::tests::execute_code_process_level_caps_everything ... ok
[INFO] [stdout] test api::tests::http_eval_inline_expression ... ok
[INFO] [stdout] test api::tests::http_status_endpoint ... ok
[INFO] [stdout] test api::tests::llm_takeover_uses_caller_permissions ... ok
[INFO] [stdout] test api::tests::list_sessions_includes_main ... ok
[INFO] [stdout] test api::tests::llm_takeover_uses_shared_opencode_lock ... ok
[INFO] [stdout] test api::tests::http_mutate_endpoint ... ok
[INFO] [stdout] test api::tests::mutate_broadcasts_sse_event ... ok
[INFO] [stdout] test api::tests::eval_broadcasts_sse_event ... ok
[INFO] [stdout] test api::tests::http_test_endpoint ... ok
[INFO] [stdout] test api::tests::execute_code_permission_blocks_core_module_write ... ok
[INFO] [stdout] test api::tests::pipeline_define_function ... ok
[INFO] [stdout] test api::tests::pipeline_inline_expression_eval ... ok
[INFO] [stdout] test api::tests::execute_code_permission_blocks_source_query ... ok
[INFO] [stdout] test api::tests::pipeline_define_and_eval_pure_function ... ok
[INFO] [stdout] test api::tests::mutate_repeated_errors_add_hint ... ok
[INFO] [stdout] test api::tests::pipeline_multiple_operations_in_one_block ... ok
[INFO] [stdout] test api::tests::pipeline_module_with_function ... ok
[INFO] [stdout] test api::tests::pipeline_mutation_error_reported ... ok
[INFO] [stdout] test api::tests::pipeline_define_test_eval ... ok
[INFO] [stdout] test api::tests::pipeline_mock_and_unmock ... ok
[INFO] [stdout] test api::tests::pipeline_plan_operations ... ok
[INFO] [stdout] test api::tests::pipeline_roadmap_operations ... ok
[INFO] [stdout] test api::tests::pipeline_query_symbols ... ok
[INFO] [stdout] test api::tests::pipeline_test_failure_reported ... ok
[INFO] [stdout] test api::tests::session_eval_inline_expression ... ok
[INFO] [stdout] test api::tests::plan_not_double_processed_with_mutations ... ok
[INFO] [stdout] test api::tests::pipeline_remove_function ... ok
[INFO] [stdout] test api::tests::http_mutate_then_eval ... ok
[INFO] [stdout] test api::tests::execute_code_eval_io_function_positional_args ... ok
[INFO] [stdout] test ast::tests::after_check_construction ... ok
[INFO] [stdout] test api::tests::session_eval_not_found ... ok
[INFO] [stdout] test ast::tests::all_binary_ops_constructible ... ok
[INFO] [stdout] test api::tests::sync_async_side_effects_preserves_live_roadmap_and_runtime_state ... ok
[INFO] [stdout] test api::tests::execute_code_eval_io_function_does_not_reject ... ok
[INFO] [stdout] test api::tests::test_endpoint_broadcasts_sse_event ... ok
[INFO] [stdout] test ast::tests::effect_equality ... ok
[INFO] [stdout] test api::tests::session_mutate_happy_path ... ok
[INFO] [stdout] test ast::tests::escape_carriage_return ... ok
[INFO] [stdout] test api::tests::session_mutate_not_found ... ok
[INFO] [stdout] test api::tests::ui_page_contains_event_source_client ... ok
[INFO] [stdout] test api::tests::trace_not_silently_dropped ... ok
[INFO] [stdout] test ast::tests::all_unary_ops_constructible ... ok
[INFO] [stdout] test ast::tests::escape_newline_and_tab ... ok
[INFO] [stdout] test ast::tests::escape_backslash ... ok
[INFO] [stdout] test ast::tests::escape_quotes ... ok
[INFO] [stdout] test api::tests::session_eval_function_in_session ... ok
[INFO] [stdout] test ast::tests::event_op_variants ... ok
[INFO] [stdout] test ast::tests::expr_call ... ok
[INFO] [stdout] test api::tests::plan_only_processed_once ... ok
[INFO] [stdout] test ast::tests::expr_binary ... ok
[INFO] [stdout] test ast::tests::escape_combined ... ok
[INFO] [stdout] test ast::tests::escape_plain_string ... ok
[INFO] [stdout] test ast::tests::expr_literal_bool ... ok
[INFO] [stdout] test api::tests::session_migrates_chat_messages_to_conversations ... ok
[INFO] [stdout] test api::tests::sessions_are_isolated ... ok
[INFO] [stdout] test ast::tests::expr_equality ... ok
[INFO] [stdout] test ast::tests::expr_nested_binary ... ok
[INFO] [stdout] test ast::tests::expr_struct_init ... ok
[INFO] [stdout] test ast::tests::expr_unary_neg ... ok
[INFO] [stdout] test ast::tests::expr_identifier ... ok
[INFO] [stdout] test ast::tests::expr_field_access ... ok
[INFO] [stdout] test ast::tests::expr_literal_string ... ok
[INFO] [stdout] test ast::tests::expr_literal_float ... ok
[INFO] [stdout] test ast::tests::fn_index_uses_interned_ids_after_rebuild ... ok
[INFO] [stdout] test ast::tests::expr_literal_int ... ok
[INFO] [stdout] test ast::tests::expr_unary_not ... ok
[INFO] [stdout] test ast::tests::format_string_with_special_chars ... ok
[INFO] [stdout] test ast::tests::format_plain_string ... ok
[INFO] [stdout] test ast::tests::get_function_mut_qualified_with_interned_index ... ok
[INFO] [stdout] test ast::tests::function_decl_with_body ... ok
[INFO] [stdout] test ast::tests::get_function_mut_top_level ... ok
[INFO] [stdout] test ast::tests::function_decl_with_params_and_effects ... ok
[INFO] [stdout] test ast::tests::get_function_mut_unqualified_module_search ... ok
[INFO] [stdout] test ast::tests::get_function_missing_returns_none ... ok
[INFO] [stdout] test ast::tests::get_function_mut_qualified ... ok
[INFO] [stdout] test ast::tests::get_function_qualified_module_lookup ... ok
[INFO] [stdout] test ast::tests::get_function_mut_with_interned_index ... ok
[INFO] [stdout] test ast::tests::format_string_with_quotes ... ok
[INFO] [stdout] test ast::tests::get_function_mut_missing_returns_none ... ok
[INFO] [stdout] test ast::tests::get_function_top_level_preferred_over_module ... ok
[INFO] [stdout] test ast::tests::get_function_qualified_wrong_function ... ok
[INFO] [stdout] test ast::tests::get_function_unqualified_module_search ... ok
[INFO] [stdout] test ast::tests::get_function_qualified_with_uninterned_module_returns_none ... ok
[INFO] [stdout] test ast::tests::get_function_top_level_via_index ... ok
[INFO] [stdout] test ast::tests::interner_empty_program_has_wellknown_names ... ok
[INFO] [stdout] test ast::tests::http_route_equality ... ok
[INFO] [stdout] test ast::tests::interner_populated_after_rebuild ... ok
[INFO] [stdout] test ast::tests::lifecycle_block_construction ... ok
[INFO] [stdout] test ast::tests::interner_populated_for_modules ... ok
[INFO] [stdout] test ast::tests::interner_populated_for_type_decls ... ok
[INFO] [stdout] test ast::tests::get_function_top_level_linear_fallback ... ok
[INFO] [stdout] test ast::tests::get_function_with_uninterned_name_returns_none ... ok
[INFO] [stdout] test ast::tests::match_pattern_literal ... ok
[INFO] [stdout] test ast::tests::http_route_creation ... ok
[INFO] [stdout] test ast::tests::module_equality_with_lifecycle_blocks ... ok
[INFO] [stdout] test ast::tests::match_pattern_variant ... ok
[INFO] [stdout] test ast::tests::module_fn_index_rebuild ... ok
[INFO] [stdout] test ast::tests::module_index_enables_fast_qualified_lookup ... ok
[INFO] [stdout] test ast::tests::lifecycle_block_equality ... ok
[INFO] [stdout] test ast::tests::match_pattern_binding ... ok
[INFO] [stdout] test ast::tests::module_empty_construction ... ok
[INFO] [stdout] test ast::tests::module_fn_index_uses_interned_ids ... ok
[INFO] [stdout] test ast::tests::module_index_qualified_not_found ... ok
[INFO] [stdout] test ast::tests::module_index_uses_interned_ids_after_rebuild ... ok
[INFO] [stdout] test ast::tests::module_serde_backward_compat ... ok
[INFO] [stdout] test ast::tests::program_default_is_empty ... ok
[INFO] [stdout] test ast::tests::lifecycle_block_serde_roundtrip ... ok
[INFO] [stdout] test ast::tests::module_startup_shutdown_option ... ok
[INFO] [stdout] test ast::tests::qualify_function_name_module_function ... ok
[INFO] [stdout] test ast::tests::module_get_function_mut_with_index ... ok
[INFO] [stdout] test ast::tests::module_with_lifecycle_block ... ok
[INFO] [stdout] test ast::tests::program_display_summary ... ok
[INFO] [stdout] test ast::tests::program_equality ... ok
[INFO] [stdout] test ast::tests::qualify_function_name_unknown ... ok
[INFO] [stdout] test ast::tests::qualify_function_name_top_level ... ok
[INFO] [stdout] test ast::tests::rebuild_index_after_adding_function ... ok
[INFO] [stdout] test ast::tests::source_op_variants ... ok
[INFO] [stdout] test ast::tests::module_with_functions ... ok
[INFO] [stdout] test ast::tests::qualify_function_name_already_qualified ... ok
[INFO] [stdout] test ast::tests::source_type_construction ... ok
[INFO] [stdout] test ast::tests::statement_source_event ... ok
[INFO] [stdout] test ast::tests::qualify_function_name_top_level_preferred_over_module ... ok
[INFO] [stdout] test ast::tests::stmt_branch ... ok
[INFO] [stdout] test ast::tests::stmt_await ... ok
[INFO] [stdout] test ast::tests::stmt_check ... ok
[INFO] [stdout] test ast::tests::stmt_each ... ok
[INFO] [stdout] test ast::tests::shared_var_decl_construction ... ok
[INFO] [stdout] test ast::tests::rebuild_index_enables_fast_lookup ... ok
[INFO] [stdout] test ast::tests::stmt_let ... ok
[INFO] [stdout] test ast::tests::stmt_call ... ok
[INFO] [stdout] test ast::tests::stmt_match_with_bindings ... ok
[INFO] [stdout] test ast::tests::stmt_call_no_binding ... ok
[INFO] [stdout] test ast::tests::stmt_match ... ok
[INFO] [stdout] test ast::tests::stmt_return ... ok
[INFO] [stdout] test ast::tests::stmt_set ... ok
[INFO] [stdout] test ast::tests::stmt_spawn ... ok
[INFO] [stdout] test ast::tests::stmt_yield ... ok
[INFO] [stdout] test ast::tests::test_case_construction ... ok
[INFO] [stdout] test ast::tests::type_byte ... ok
[INFO] [stdout] test ast::tests::type_decl_name_struct ... ok
[INFO] [stdout] test ast::tests::type_decl_name_tagged_union ... ok
[INFO] [stdout] test ast::tests::type_list ... ok
[INFO] [stdout] test ast::tests::stmt_while ... ok
[INFO] [stdout] test ast::tests::type_nested_list ... ok
[INFO] [stdout] test ast::tests::type_set ... ok
[INFO] [stdout] test ast::tests::type_option ... ok
[INFO] [stdout] test ast::tests::type_tagged_union_name ... ok
[INFO] [stdout] test ast::tests::type_map ... ok
[INFO] [stdout] test ast::tests::union_variant_set_populated_after_rebuild ... ok
[INFO] [stdout] test ast::tests::type_equality ... ok
[INFO] [stdout] test ast::tests::type_struct_name ... ok
[INFO] [stdout] test attachment::tests::mime_from_extension ... ok
[INFO] [stdout] test attachment::tests::small_attachment_stays_in_memory ... ok
[INFO] [stdout] test ast::tests::union_variant_set_empty_when_no_types ... ok
[INFO] [stdout] test builtins::tests::aliases_included_in_all_builtin_names ... ok
[INFO] [stdout] test builtins::tests::aliases_work_for_is_builtin ... ok
[INFO] [stdout] test ast::tests::union_variant_set_includes_module_types ... ok
[INFO] [stdout] test builtins::tests::all_builtin_names_no_empty_entries ... ok
[INFO] [stdout] test ast::tests::type_result ... ok
[INFO] [stdout] test attachment::tests::from_file ... ok
[INFO] [stdout] test builtins::tests::actions_have_names ... ok
[INFO] [stdout] test builtins::tests::all_builtin_names_includes_sync_and_io ... ok
[INFO] [stdout] test ast::tests::union_variants_uses_interned_ids ... ok
[INFO] [stdout] test attachment::tests::display_format ... ok
[INFO] [stdout] test builtins::tests::builtins_have_names_and_descriptions ... ok
[INFO] [stdout] test builtins::tests::core_conversion_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::core_list_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::core_bitwise_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::builtins_registry_not_empty ... ok
[INFO] [stdout] test builtins::tests::core_math_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::builtin_categories_correct ... ok
[INFO] [stdout] test builtins::tests::core_string_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::hashset_lookup_matches_linear_scan_for_builtins ... ok
[INFO] [stdout] test builtins::tests::format_for_prompt_includes_aliases ... ok
[INFO] [stdout] test builtins::tests::hashset_lookup_matches_linear_scan_for_io_builtins ... ok
[INFO] [stdout] test builtins::tests::hashset_rejects_unknown_names ... ok
[INFO] [stdout] test builtins::tests::introspection_alias_not_registered_as_unknown ... ok
[INFO] [stdout] test builtins::tests::introspection_aliases_included_in_all_builtin_names ... ok
[INFO] [stdout] test builtins::tests::introspection_aliases_resolve_as_io_builtins ... ok
[INFO] [stdout] test builtins::tests::io_builtins_are_also_builtins ... ok
[INFO] [stdout] test builtins::tests::io_builtins_have_names_and_descriptions ... ok
[INFO] [stdout] test builtins::tests::io_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::is_builtin_false_for_unknown ... ok
[INFO] [stdout] test builtins::tests::is_io_builtin_false_for_sync_builtins ... ok
[INFO] [stdout] test builtins::tests::is_io_builtin_false_for_unknown ... ok
[INFO] [stdout] test builtins::tests::json_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::key_actions_registered ... ok
[INFO] [stdout] test builtins::tests::key_queries_registered ... ok
[INFO] [stdout] test builtins::tests::queries_have_names ... ok
[INFO] [stdout] test builtins::tests::format_for_prompt_includes_all_sections ... ok
[INFO] [stdout] test builtins::tests::no_duplicate_builtin_names ... ok
[INFO] [stdout] test builtins::tests::no_duplicate_io_builtin_names ... ok
[INFO] [stdout] test builtins::tests::format_for_prompt_includes_query_builtins ... ok
[INFO] [stdout] test builtins::tests::query_io_builtins_registered ... ok
[INFO] [stdout] test builtins::tests::query_io_builtins_have_descriptions ... ok
[INFO] [stdout] test builtins::tests::regex_builtins_registered ... ok
[INFO] [stdout] test compiler::tests::compilable_body_let_return ... ok
[INFO] [stdout] test builtins::tests::result_constructors_registered ... ok
[INFO] [stdout] test compiler::tests::compilable_body_with_while ... ok
[INFO] [stdout] test builtins::tests::format_for_prompt_shows_introspection_aliases ... ok
[INFO] [stdout] test builtins::tests::format_for_prompt_includes_specific_builtins ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_binary ... ok
[INFO] [stdout] test compiler::tests::compilable_bool_return ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_literal ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_nested_binary ... ok
[INFO] [stdout] test builtins::tests::tcp_builtins_registered ... ok
[INFO] [stdout] test compiler::tests::compilable_body_with_branch ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_call ... ok
[INFO] [stdout] test compiler::tests::compilable_float_params ... ok
[INFO] [stdout] test compiler::tests::compilable_int_to_int ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_unary ... ok
[INFO] [stdout] test compiler::tests::compilable_string_param ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_identifier ... ok
[INFO] [stdout] test compiler::tests::compilable_result_return ... ok
[INFO] [stdout] test compiler::tests::fully_compilable_empty_program ... ok
[INFO] [stdout] test compiler::tests::compilable_expr_field_access ... ok
[INFO] [stdout] test compiler::tests::compilable_types ... ok
[INFO] [stdout] test compiler::tests::fully_compilable_simple_program ... ok
[INFO] [stdout] test compiler::tests::not_compilable_await_in_body ... ok
[INFO] [stdout] test compiler::tests::is_string_type_false ... ok
[INFO] [stdout] test compiler::tests::not_compilable_body_with_spawn ... ok
[INFO] [stdout] test compiler::tests::not_compilable_map_return ... ok
[INFO] [stdout] test compiler::tests::not_compilable_list_param ... ok
[INFO] [stdout] test compiler::tests::not_compilable_body_with_yield ... ok
[INFO] [stdout] test compiler::tests::not_compilable_option_param ... ok
[INFO] [stdout] test compiler::tests::is_string_type_true ... ok
[INFO] [stdout] test compiler::tests::not_fully_compilable_with_list_function ... ok
[INFO] [stdout] test compiler::tests::type_mapping_bool ... ok
[INFO] [stdout] test compiler::tests::not_compilable_types ... ok
[INFO] [stdout] test compiler::tests::not_compilable_each_in_body ... ok
[INFO] [stdout] test compiler::tests::compile_and_call_add ... ok
[INFO] [stdout] test compiler::tests::type_mapping_byte ... ok
[INFO] [stdout] test compiler::tests::compile_and_call_multiply ... ok
[INFO] [stdout] test compiler::tests::type_mapping_result_int ... ok
[INFO] [stdout] test compiler::tests::type_mapping_string ... ok
[INFO] [stdout] test compiler::tests::type_mapping_list_unsupported ... ok
[INFO] [stdout] test compiler::tests::type_mapping_float ... ok
[INFO] [stdout] test compiler::tests::compile_and_call_with_constant ... ok
[INFO] [stdout] test compiler::tests::compile_call_missing_function ... ok
[INFO] [stdout] test coroutine::tests::agent_spawn_missing_task_fails ... ok
[INFO] [stdout] test coroutine::tests::agent_spawn_queues_command ... ok
[INFO] [stdout] test coroutine::tests::agent_spawn_no_args_fails ... ok
[INFO] [stdout] test compiler::tests::type_mapping_int ... ok
[INFO] [stdout] test coroutine::tests::agent_spawn_empty_name_fails ... ok
[INFO] [stdout] test coroutine::tests::agent_spawn_empty_task_fails ... ok
[INFO] [stdout] test coroutine::tests::alias_no_program_errors ... ok
[INFO] [stdout] test coroutine::tests::failure_history_returns_recent_failures ... ok
[INFO] [stdout] test coroutine::tests::failure_patterns_groups_similar_errors ... ok
[INFO] [stdout] test coroutine::tests::failure_patterns_with_args_fails ... ok
[INFO] [stdout] test coroutine::tests::callees_get_alias_works ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_from_module ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_top_level ... ok
[INFO] [stdout] test coroutine::tests::callers_get_alias_works ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_updates_query_snapshot ... ok
[INFO] [stdout] test coroutine::tests::deps_get_alias_works ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_module_not_found ... ok
[INFO] [stdout] test coroutine::tests::clear_failure_history_clears_entries ... ok
[INFO] [stdout] test coroutine::tests::fn_replace_nonexistent_function_fails ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_not_found ... ok
[INFO] [stdout] test coroutine::tests::fn_replace_empty_code_fails ... ok
[INFO] [stdout] test coroutine::tests::fn_replace_empty_target_fails ... ok
[INFO] [stdout] test coroutine::tests::inbox_clear_removes_messages ... ok
[INFO] [stdout] test coroutine::tests::fn_replace_single_statement ... ok
[INFO] [stdout] test coroutine::tests::inbox_clear_with_args_fails ... ok
[INFO] [stdout] test coroutine::tests::inbox_read_mock_intercepts_and_preserves_inbox ... ok
[INFO] [stdout] test coroutine::tests::inbox_read_returns_json_and_clears_inbox ... ok
[INFO] [stdout] test coroutine::tests::fn_remove_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::inbox_read_with_args_fails ... ok
[INFO] [stdout] test coroutine::tests::library_errors_no_errors ... ok
[INFO] [stdout] test coroutine::tests::library_errors_with_general_errors ... ok
[INFO] [stdout] test coroutine::tests::library_errors_with_both_error_types ... ok
[INFO] [stdout] test coroutine::tests::library_errors_with_load_errors ... ok
[INFO] [stdout] test coroutine::tests::library_reload_nonexistent_module_fails ... ok
[INFO] [stdout] test coroutine::tests::module_create_empty_name_fails ... ok
[INFO] [stdout] test coroutine::tests::mock_clear_clears_all_mocks ... ok
[INFO] [stdout] test coroutine::tests::module_create_lowercase_fails ... ok
[INFO] [stdout] test coroutine::tests::mock_set_adds_mock ... ok
[INFO] [stdout] test coroutine::tests::mock_set_empty_operation_fails ... ok
[INFO] [stdout] test coroutine::tests::module_create_already_exists ... ok
[INFO] [stdout] test coroutine::tests::module_remove_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::module_remove_not_found ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_no_args_fails ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_no_program_fails ... ok
[INFO] [stdout] test coroutine::tests::module_create_new_module ... ok
[INFO] [stdout] test coroutine::tests::library_reload_empty_name_reloads_all ... ok
[INFO] [stdout] test coroutine::tests::mock_clear_empty_returns_zero ... ok
[INFO] [stdout] test coroutine::tests::llm_set_and_get_model ... ok
[INFO] [stdout] test coroutine::tests::module_remove_existing ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_not_found_fails ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_empty_symbols_fails ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_moves_function ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_empty_target_fails ... ok
[INFO] [stdout] test coroutine::tests::msg_send_delivers_message ... ok
[INFO] [stdout] test coroutine::tests::msg_send_empty_target_fails ... ok
[INFO] [stdout] test coroutine::tests::msg_send_missing_message_fails ... ok
[INFO] [stdout] test coroutine::tests::move_symbols_multiple_comma_separated ... ok
[INFO] [stdout] test coroutine::tests::msg_send_no_args_fails ... ok
[INFO] [stdout] test coroutine::tests::msg_send_multiple_messages ... ok
[INFO] [stdout] test coroutine::tests::mutate_add_function ... ok
[INFO] [stdout] test coroutine::tests::msg_send_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::msg_send_syncs_meta_mailbox ... ok
[INFO] [stdout] test coroutine::tests::mutate_add_module_with_functions ... ok
[INFO] [stdout] test coroutine::tests::mutate_no_program_fails ... ok
[INFO] [stdout] test coroutine::tests::mutate_updates_query_snapshot ... ok
[INFO] [stdout] test coroutine::tests::mutate_empty_code_fails ... ok
[INFO] [stdout] test coroutine::tests::new_io_builtins_registered ... ok
[INFO] [stdout] test coroutine::tests::mutate_no_args_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_fail_zero_index_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_done_marks_step ... ok
[INFO] [stdout] test coroutine::tests::mutate_invalid_syntax_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_done_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_done_zero_index_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_set_empty_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_set_skips_blank_lines ... ok
[INFO] [stdout] test coroutine::tests::plan_set_replaces_existing ... ok
[INFO] [stdout] test coroutine::tests::plan_fail_marks_step ... ok
[INFO] [stdout] test coroutine::tests::plan_fail_out_of_bounds ... ok
[INFO] [stdout] test coroutine::tests::plan_done_out_of_bounds ... ok
[INFO] [stdout] test coroutine::tests::query_callees_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_set_and_show ... ok
[INFO] [stdout] test coroutine::tests::query_callers_no_callers ... ok
[INFO] [stdout] test coroutine::tests::plan_fail_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::plan_show_empty ... ok
[INFO] [stdout] test coroutine::tests::plan_set_no_args_fails ... ok
[INFO] [stdout] test coroutine::tests::query_inbox_matches_query_output ... ok
[INFO] [stdout] test coroutine::tests::query_callees_lists_calls ... ok
[INFO] [stdout] test coroutine::tests::query_deps_all_transitive ... ok
[INFO] [stdout] test coroutine::tests::query_routes_empty ... ok
[INFO] [stdout] test coroutine::tests::query_library_returns_string ... ok
[INFO] [stdout] test coroutine::tests::query_deps_all_no_deps ... ok
[INFO] [stdout] test coroutine::tests::query_inbox_with_args_fails ... ok
[INFO] [stdout] test coroutine::tests::query_startups_no_modules ... ok
[INFO] [stdout] test coroutine::tests::query_routes_with_routes ... ok
[INFO] [stdout] test coroutine::tests::query_callers_with_caller ... ok
[INFO] [stdout] test coroutine::tests::query_source_existing_function ... ok
[INFO] [stdout] test coroutine::tests::query_source_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::query_source_not_found ... ok
[INFO] [stdout] test coroutine::tests::query_deps_same_as_callees ... ok
[INFO] [stdout] test coroutine::tests::query_no_program_errors ... ok
[INFO] [stdout] test coroutine::tests::query_symbols_detail_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::query_symbols_empty_program ... ok
[INFO] [stdout] test coroutine::tests::query_startups_with_both ... ok
[INFO] [stdout] test coroutine::tests::query_symbols_with_function ... ok
[INFO] [stdout] test coroutine::tests::query_symbols_detail_existing ... ok
[INFO] [stdout] test coroutine::tests::query_symbols_detail_not_found ... ok
[INFO] [stdout] test coroutine::tests::roadmap_add_empty_fails ... ok
[INFO] [stdout] test coroutine::tests::roadmap_add_no_args_fails ... ok
[INFO] [stdout] test coroutine::tests::roadmap_add_and_list ... ok
[INFO] [stdout] test coroutine::tests::query_tasks_with_registry ... ok
[INFO] [stdout] test coroutine::tests::query_tasks_no_registry ... ok
[INFO] [stdout] test coroutine::tests::query_startups_multiple_modules ... ok
[INFO] [stdout] test coroutine::tests::roadmap_done_marks_item ... ok
[INFO] [stdout] test coroutine::tests::query_startups_with_startup ... ok
[INFO] [stdout] test coroutine::tests::roadmap_done_out_of_bounds ... ok
[INFO] [stdout] test coroutine::tests::roadmap_done_warns_without_mutations ... ok
[INFO] [stdout] test coroutine::tests::roadmap_list_empty ... ok
[INFO] [stdout] test coroutine::tests::roadmap_done_zero_index_fails ... ok
[INFO] [stdout] test coroutine::tests::roadmap_done_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::route_add_invalid_method ... ok
[INFO] [stdout] test coroutine::tests::route_add_invalid_path ... ok
[INFO] [stdout] test coroutine::tests::route_add_new_route ... ok
[INFO] [stdout] test coroutine::tests::route_add_upserts_existing ... ok
[INFO] [stdout] test coroutine::tests::run_module_startups_no_modules ... ok
[INFO] [stdout] test coroutine::tests::route_list_with_routes ... ok
[INFO] [stdout] test coroutine::tests::route_remove_existing ... ok
[INFO] [stdout] test coroutine::tests::route_remove_not_found ... ok
[INFO] [stdout] test coroutine::tests::route_list_empty ... ok
[INFO] [stdout] test coroutine::tests::routes_list_alias_works ... ok
[INFO] [stdout] test coroutine::tests::sandbox_discard_queues_command ... ok
[INFO] [stdout] test coroutine::tests::sandbox_enter_queues_command ... ok
[INFO] [stdout] test coroutine::tests::sandbox_merge_queues_command ... ok
[INFO] [stdout] test coroutine::tests::run_module_startups_with_source_decl ... ok
[INFO] [stdout] test coroutine::tests::sse_send_sends_json_event ... ok
[INFO] [stdout] test coroutine::tests::run_module_startups_with_startup_block ... ok
[INFO] [stdout] test coroutine::tests::test_run_no_stored_tests ... ok
[INFO] [stdout] test coroutine::tests::sse_send_without_sender_fails ... ok
[INFO] [stdout] test coroutine::tests::run_module_startups_sorted_alphabetically ... ok
[INFO] [stdout] test coroutine::tests::source_get_alias_works ... ok
[INFO] [stdout] test coroutine::tests::test_run_function_not_found ... ok
[INFO] [stdout] test coroutine::tests::symbols_list_alias_works ... ok
[INFO] [stdout] test coroutine::tests::test_run_with_stored_tests ... ok
[INFO] [stdout] test coroutine::tests::type_remove_not_found ... ok
[INFO] [stdout] test coroutine::tests::trace_run_no_args ... ok
[INFO] [stdout] test coroutine::tests::type_remove_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::type_remove_top_level ... ok
[INFO] [stdout] test coroutine::tests::trace_run_function_not_found ... ok
[INFO] [stdout] test coroutine::tests::trace_run_wrong_type_fails ... ok
[INFO] [stdout] test coroutine::tests::watch_start_wrong_type_fn_name_fails ... ok
[INFO] [stdout] test coroutine::tests::trace_run_simple_function ... ok
[INFO] [stdout] test coroutine::tests::watch_start_queues_command ... ok
[INFO] [stdout] test coroutine::tests::watch_start_zero_interval_fails ... ok
[INFO] [stdout] test eval::tests::arith_compound_precedence ... ok
[INFO] [stdout] test coroutine::tests::trace_run_no_program_fails ... ok
[INFO] [stdout] test eval::tests::arith_division ... ok
[INFO] [stdout] test eval::tests::bench_vm_vs_treewalker ... ignored
[INFO] [stdout] test eval::tests::bool_and_or_not ... ok
[INFO] [stdout] test coroutine::tests::watch_start_empty_fn_name_fails ... ok
[INFO] [stdout] test coroutine::tests::watch_start_function_not_found_fails ... ok
[INFO] [stdout] test coroutine::tests::watch_start_negative_interval_fails ... ok
[INFO] [stdout] test coroutine::tests::undo_queues_command ... ok
[INFO] [stdout] test eval::tests::arith_float_basic ... ok
[INFO] [stdout] test eval::tests::builtin_abs ... ok
[INFO] [stdout] test eval::tests::builtin_base64_encode ... ok
[INFO] [stdout] test eval::tests::arith_modulo ... ok
[INFO] [stdout] test eval::tests::arith_negative_result ... ok
[INFO] [stdout] test eval::tests::builtin_bit_not ... ok
[INFO] [stdout] test eval::tests::arith_subtraction ... ok
[INFO] [stdout] test eval::tests::builtin_digit_value ... ok
[INFO] [stdout] test eval::tests::builtin_floor ... ok
[INFO] [stdout] test eval::tests::builtin_bitwise_ops ... ok
[INFO] [stdout] test eval::tests::builtin_get_out_of_bounds ... ok
[INFO] [stdout] test eval::tests::builtin_char_at ... ok
[INFO] [stdout] test eval::tests::builtin_is_digit_char ... ok
[INFO] [stdout] test eval::tests::builtin_min_max ... ok
[INFO] [stdout] test eval::tests::builtin_contains ... ok
[INFO] [stdout] test eval::tests::builtin_pow ... ok
[INFO] [stdout] test eval::tests::builtin_index_of ... ok
[INFO] [stdout] test eval::tests::builtin_char_at_out_of_bounds ... ok
[INFO] [stdout] test eval::tests::builtin_join ... ok
[INFO] [stdout] test eval::tests::builtin_left_rotate ... ok
[INFO] [stdout] test eval::tests::builtin_len_on_list ... ok
[INFO] [stdout] test eval::tests::builtin_char_code_and_from_char_code ... ok
[INFO] [stdout] test eval::tests::builtin_push_and_get ... ok
[INFO] [stdout] test eval::tests::builtin_substring ... ok
[INFO] [stdout] test eval::tests::builtin_to_hex ... ok
[INFO] [stdout] test eval::tests::builtin_to_int ... ok
[INFO] [stdout] test eval::tests::builtin_sqrt ... ok
[INFO] [stdout] test eval::tests::builtin_starts_with_ends_with ... ok
[INFO] [stdout] test eval::tests::builtin_split ... ok
[INFO] [stdout] test eval::tests::builtin_to_int_invalid ... ok
[INFO] [stdout] test eval::tests::builtin_to_string ... ok
[INFO] [stdout] test eval::tests::builtin_u32_wrap ... ok
[INFO] [stdout] test eval::tests::check_fails_first ... ok
[INFO] [stdout] test eval::tests::check_fails_second ... ok
[INFO] [stdout] test eval::tests::cmp_less_than ... ok
[INFO] [stdout] test eval::tests::cmp_eq_neq ... ok
[INFO] [stdout] test eval::tests::concat_mixed_types ... ok
[INFO] [stdout] test eval::tests::builtin_regex_match ... ok
[INFO] [stdout] test eval::tests::builtin_trim ... ok
[INFO] [stdout] test eval::tests::check_passes ... ok
[INFO] [stdout] test eval::tests::constructor_err ... ok
[INFO] [stdout] test eval::tests::cmp_gte_lte ... ok
[INFO] [stdout] test eval::tests::constructor_some ... ok
[INFO] [stdout] test eval::tests::check_multiple_sequential ... ok
[INFO] [stdout] test eval::tests::each_loop_accumulate ... ok
[INFO] [stdout] test eval::tests::constructor_ok_no_args ... ok
[INFO] [stdout] test eval::tests::check_with_compound_condition ... ok
[INFO] [stdout] test eval::tests::constructor_ok ... ok
[INFO] [stdout] test eval::tests::env_new_with_interner_seeds_names ... ok
[INFO] [stdout] test eval::tests::env_scope_shadowing_with_smallvec ... ok
[INFO] [stdout] test eval::tests::env_set_id_and_get_id_roundtrip ... ok
[INFO] [stdout] test eval::tests::env_shared_interner_cow_on_new_name ... ok
[INFO] [stdout] test eval::tests::each_loop_transform ... ok
[INFO] [stdout] test eval::tests::each_loop_empty_list ... ok
[INFO] [stdout] test eval::tests::env_shared_interner_o1_clone ... ok
[INFO] [stdout] test eval::tests::env_new_with_interner_handles_unknown_names ... ok
[INFO] [stdout] test eval::tests::fork_runtime_includes_http_routes ... ok
[INFO] [stdout] test eval::tests::env_smallvec_spills_to_heap_gracefully ... ok
[INFO] [stdout] test eval::tests::env_undefined_variable_returns_error ... ok
[INFO] [stdout] test eval::tests::fork_runtime_mutation_does_not_affect_original ... ok
[INFO] [stdout] test eval::tests::fork_runtime_empty_program_no_shared_vars ... ok
[INFO] [stdout] test eval::tests::fail_effect_wraps_result ... ok
[INFO] [stdout] test eval::tests::if_then_branch ... ok
[INFO] [stdout] test eval::tests::function_call_with_check_propagation ... ok
[INFO] [stdout] test eval::tests::function_call_chain ... ok
[INFO] [stdout] test eval::tests::if_elif_else ... ok
[INFO] [stdout] test eval::tests::env_smallvec_scope_chain_basic ... ok
[INFO] [stdout] test eval::tests::interned_fn_dispatch_unknown_function_error ... ok
[INFO] [stdout] test eval::tests::fork_runtime_creates_isolated_shared_vars ... ok
[INFO] [stdout] test eval::tests::interned_fn_index_dispatch_top_level ... ok
[INFO] [stdout] test eval::tests::interned_fn_index_dispatch_module_qualified ... ok
[INFO] [stdout] test eval::tests::if_multiple_elif ... ok
[INFO] [stdout] test eval::tests::interned_struct_empty_name_matches_any ... ok
[INFO] [stdout] test eval::tests::if_with_complex_condition ... ok
[INFO] [stdout] test eval::tests::interned_struct_different_names_dont_match ... ok
[INFO] [stdout] test eval::tests::interned_display_interner_fallback_for_unknown_id ... ok
[INFO] [stdout] test eval::tests::interned_struct_get_field_by_string ... ok
[INFO] [stdout] test eval::tests::interned_struct_field_keys_are_u32 ... ok
[INFO] [stdout] test eval::tests::interned_fn_index_cross_function_call ... ok
[INFO] [stdout] test eval::tests::interned_struct_strct_interned_roundtrip ... ok
[INFO] [stdout] test eval::tests::interned_union_variant_display ... ok
[INFO] [stdout] test eval::tests::interned_struct_field_access_in_eval ... ok
[INFO] [stdout] test eval::tests::interned_struct_display_resolves_names ... ok
[INFO] [stdout] test eval::tests::interned_union_no_payload_display ... ok
[INFO] [stdout] test eval::tests::builtin_regex_replace ... ok
[INFO] [stdout] test eval::tests::interned_union_variant_equality ... ok
[INFO] [stdout] test eval::tests::make_shared_program_mut_creates_writable_clone ... ok
[INFO] [stdout] test eval::tests::let_binding_and_return ... ok
[INFO] [stdout] test eval::tests::interned_union_variant_lookup_in_match ... ok
[INFO] [stdout] test eval::tests::program_shared_interner_rebuilt_on_mutation ... ok
[INFO] [stdout] test eval::tests::interned_union_match_dispatch ... ok
[INFO] [stdout] test eval::tests::match_on_result_err ... ok
[INFO] [stdout] test eval::tests::match_on_result_ok ... ok
[INFO] [stdout] test eval::tests::match_on_option_some_none ... ok
[INFO] [stdout] test eval::tests::let_multiple_bindings ... ok
[INFO] [stdout] test eval::tests::qualify_function_name_preserves_already_qualified ... ok
[INFO] [stdout] test eval::tests::match_recursive_type ... ok
[INFO] [stdout] test eval::tests::match_wildcard ... ok
[INFO] [stdout] test eval::tests::qualify_function_name_returns_bare_for_top_level_fn ... ok
[INFO] [stdout] test eval::tests::move_symbols_in_mutation_builtin_list ... ok
[INFO] [stdout] test eval::tests::qualify_function_name_unknown_returns_as_is ... ok
[INFO] [stdout] test eval::tests::match_nested_variant_bindings ... ok
[INFO] [stdout] test eval::tests::nested_if ... ok
[INFO] [stdout] test eval::tests::qualify_function_name_returns_qualified_for_module_fn ... ok
[INFO] [stdout] test eval::tests::pure_function_rejects_io_call ... ok
[INFO] [stdout] test eval::tests::read_back_returns_mutated_state ... ok
[INFO] [stdout] test eval::tests::match_on_union ... ok
[INFO] [stdout] test eval::tests::set_mutation ... ok
[INFO] [stdout] test eval::tests::read_back_returns_original_when_no_mutation ... ok
[INFO] [stdout] test eval::tests::shared_interner_ids_match_base_interner ... ok
[INFO] [stdout] test eval::tests::shared_var_multiple_modules ... ok
[INFO] [stdout] test eval::tests::shared_program_mut_thread_local_roundtrip ... ok
[INFO] [stdout] test eval::tests::shared_var_inaccessible_from_wrong_module ... ok
[INFO] [stdout] test eval::tests::shared_var_nested_call_different_module_no_cross_leak ... ok
[INFO] [stdout] test eval::tests::shared_var_populated_in_env ... ok
[INFO] [stdout] test eval::tests::shared_var_accessible_in_nested_call_during_test ... ok
[INFO] [stdout] test eval::tests::source_add_channel_in_sync_context ... ok
[INFO] [stdout] test eval::tests::shared_var_accessible_via_qualified_name ... ok
[INFO] [stdout] test eval::tests::shared_var_nested_call_via_eval_call_with_input ... ok
[INFO] [stdout] test eval::tests::shared_var_set_persists_across_eval_calls ... ok
[INFO] [stdout] test eval::tests::source_add_event_in_sync_context ... ok
[INFO] [stdout] test eval::tests::source_add_timer_in_sync_context_no_error ... ok
[INFO] [stdout] test eval::tests::shared_var_set_and_read_work_in_test_context ... ok
[INFO] [stdout] test eval::tests::shared_var_deeply_nested_calls ... ok
[INFO] [stdout] test eval::tests::struct_create_and_access ... ok
[INFO] [stdout] test eval::tests::test_after_routes_contains_fail ... ok
[INFO] [stdout] test eval::tests::source_add_module_name_from_handler ... ok
[INFO] [stdout] test eval::tests::struct_field_access_in_expression ... ok
[INFO] [stdout] test eval::tests::test_after_modules_contains_fail ... ok
[INFO] [stdout] test eval::tests::source_add_timer_non_int_expr_errors ... ok
[INFO] [stdout] test eval::tests::test_after_modules_contains_pass ... ok
[INFO] [stdout] test eval::tests::test_after_routes_contains_pass ... ok
[INFO] [stdout] test eval::tests::test_any_ok_matcher ... ok
[INFO] [stdout] test eval::tests::source_add_timer_with_async_handle ... ok
[INFO] [stdout] test eval::tests::source_add_with_module_name_env ... ok
[INFO] [stdout] test eval::tests::struct_nested_field_access ... ok
[INFO] [stdout] test eval::tests::test_any_ok_matcher_fails_on_err ... ok
[INFO] [stdout] test eval::tests::test_async_eval_delegates_sync_to_sync_path ... ok
[INFO] [stdout] test eval::tests::test_any_err_matcher ... ok
[INFO] [stdout] test eval::tests::test_any_err_matcher_fails_on_ok ... ok
[INFO] [stdout] test eval::tests::test_bare_function_name_as_test_param_value ... ok
[INFO] [stdout] test eval::tests::test_async_eval_test_case_with_mocks ... ok
[INFO] [stdout] test eval::tests::test_concat_empty_args ... ok
[INFO] [stdout] test eval::tests::test_concat_prealloc_mixed_types ... ok
[INFO] [stdout] test eval::tests::test_concat_prealloc_strings ... ok
[INFO] [stdout] test eval::tests::test_concat_preserves_utf8 ... ok
[INFO] [stdout] test eval::tests::test_concat_single_arg ... ok
[INFO] [stdout] test eval::tests::test_async_multi_param_function_binds_params_via_spawn_blocking ... ok
[INFO] [stdout] test eval::tests::test_contains_matcher ... ok
[INFO] [stdout] test eval::tests::test_async_multi_param_function_binds_params_via_runtime ... ok
[INFO] [stdout] test eval::tests::test_env_interned_get_raw ... ok
[INFO] [stdout] test eval::tests::test_env_interned_multiple_variables ... ok
[INFO] [stdout] test eval::tests::test_each_return_propagation ... ok
[INFO] [stdout] test eval::tests::test_each_field_access_and_let ... ok
[INFO] [stdout] test eval::tests::test_async_function_await_sleep_with_mock ... ok
[INFO] [stdout] test eval::tests::test_env_get_id_not_found ... ok
[INFO] [stdout] test eval::tests::test_contains_matcher_fails_when_not_present ... ok
[INFO] [stdout] test eval::tests::test_env_interned_scope_shadowing ... ok
[INFO] [stdout] test eval::tests::test_async_function_with_mock_inbox_read ... ok
[INFO] [stdout] test eval::tests::test_async_session_multi_param_function ... ok
[INFO] [stdout] test eval::tests::test_async_function_with_mock_http_get ... ok
[INFO] [stdout] test eval::tests::test_env_interned_set_existing ... ok
[INFO] [stdout] test eval::tests::test_async_function_without_mock_errors_on_unmocked_io ... ok
[INFO] [stdout] test eval::tests::test_async_function_nested_await_propagates_handle ... ok
[INFO] [stdout] test eval::tests::test_env_interned_set_get ... ok
[INFO] [stdout] test eval::tests::test_async_function_with_io_effect_gets_handle ... ok
[INFO] [stdout] test eval::tests::test_async_multi_param_wrong_expected_fails ... ok
[INFO] [stdout] test eval::tests::test_env_set_id_get_id ... ok
[INFO] [stdout] test eval::tests::test_env_interned_snapshot_bindings ... ok
[INFO] [stdout] test eval::tests::test_env_interned_undefined_variable ... ok
[INFO] [stdout] test eval::tests::test_env_new_with_interner_seeded ... ok
[INFO] [stdout] test eval::tests::test_error_suggest_unknown_pattern_returns_empty_string ... ok
[INFO] [stdout] test eval::tests::test_env_set_id_scope_isolation ... ok
[INFO] [stdout] test eval::tests::test_error_suggest_matches_known_pattern ... ok
[INFO] [stdout] test eval::tests::test_err_containing_matcher_fails_on_wrong_msg ... ok
[INFO] [stdout] test eval::tests::test_escaped_quotes_in_key_value_string ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_concat_call ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_io_builtin_in_user_function_context ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_boolean ... ok
[INFO] [stdout] test eval::tests::test_escaped_quotes_multiple_string_args ... ok
[INFO] [stdout] test eval::tests::test_err_containing_matcher ... ok
[INFO] [stdout] test eval::tests::test_eval_func_with_args_still_works ... ok
[INFO] [stdout] test eval::tests::test_eval_builtin_positional_strings ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_comparison ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_string_literal ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_len_call ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_list_creation ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_multiply_add ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_io_without_handle_still_errors ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_arithmetic ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_numeric_literal ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_nested_calls ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_struct_literal ... ok
[INFO] [stdout] test eval::tests::test_eval_positional_ints ... ok
[INFO] [stdout] test eval::tests::test_expr_contains_io_builtin_detects_direct_call ... ok
[INFO] [stdout] test eval::tests::test_expr_contains_io_builtin_detects_http_get ... ok
[INFO] [stdout] test eval::tests::test_expr_contains_io_builtin_detects_nested_call ... ok
[INFO] [stdout] test eval::tests::test_expr_contains_io_builtin_false_for_arithmetic ... ok
[INFO] [stdout] test eval::tests::test_exact_err_still_works_without_matcher ... ok
[INFO] [stdout] test eval::tests::test_eval_func_name_still_works ... ok
[INFO] [stdout] test eval::tests::test_expr_contains_io_builtin_false_for_sync ... ok
[INFO] [stdout] test eval::tests::test_eval_positional_mixed_types ... ok
[INFO] [stdout] test eval::tests::test_format_expr_struct_with_list_roundtrip ... ok
[INFO] [stdout] test eval::tests::test_eval_positional_multiple_strings ... ok
[INFO] [stdout] test eval::tests::test_intern_name_consistency ... ok
[INFO] [stdout] test eval::tests::test_function_call_in_expected_value ... ok
[INFO] [stdout] test eval::tests::test_fail_effect_allowed_in_test_param ... ok
[INFO] [stdout] test eval::tests::test_function_call_with_args_in_test_param ... ok
[INFO] [stdout] test eval::tests::test_impure_function_rejected_in_test_param_call ... ok
[INFO] [stdout] test eval::tests::test_interned_eval_function_with_variables ... ok
[INFO] [stdout] test eval::tests::test_impure_function_rejected_in_test_param_bare ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_user_function_call ... ok
[INFO] [stdout] test eval::tests::test_interned_eval_nested_scopes ... ok
[INFO] [stdout] test eval::tests::test_list_extended ... ok
[INFO] [stdout] test eval::tests::test_map_operations ... ok
[INFO] [stdout] test eval::tests::test_matchers_combined_with_after ... ok
[INFO] [stdout] test eval::tests::test_io_builtin_without_await_gives_helpful_error ... ok
[INFO] [stdout] test eval::tests::test_interner_eval_function_with_program_interner ... ok
[INFO] [stdout] test eval::tests::test_interner_consistency_across_envs ... ok
[INFO] [stdout] test eval::tests::test_mock_escape_decoding_via_parser ... ok
[INFO] [stdout] test eval::tests::test_json_escape_preserves_utf8 ... ok
[INFO] [stdout] test eval::tests::test_eval_inline_io_with_coroutine_handle_via_mock ... ok
[INFO] [stdout] test eval::tests::test_json_get_preserves_utf8 ... ok
[INFO] [stdout] test eval::tests::test_module_function_lookup_not_found ... ok
[INFO] [stdout] test eval::tests::test_newline_and_tab_escapes_in_test_value ... ok
[INFO] [stdout] test eval::tests::test_module_function_lookup_with_index ... ok
[INFO] [stdout] test eval::tests::test_multiple_after_checks ... ok
[INFO] [stdout] test eval::tests::test_program_interner_with_modules ... ok
[INFO] [stdout] test eval::tests::test_push_error_wrong_args ... ok
[INFO] [stdout] test eval::tests::test_mock_http_get_json_consumed_by_json_get ... ok
[INFO] [stdout] test eval::tests::test_push_returns_extended_list ... ok
[INFO] [stdout] test eval::tests::test_program_intern_all_names ... ok
[INFO] [stdout] test eval::tests::test_push_error_not_list ... ok
[INFO] [stdout] test eval::tests::test_starts_with_matcher ... ok
[INFO] [stdout] test eval::tests::test_resolve_name_roundtrip ... ok
[INFO] [stdout] test eval::tests::test_push_preserves_original_list_semantics ... ok
[INFO] [stdout] test eval::tests::test_mock_json_end_to_end_with_parser_escaping ... ok
[INFO] [stdout] test eval::tests::test_set_operations ... ok
[INFO] [stdout] test eval::tests::test_unicode_string_literal_roundtrip ... ok
[INFO] [stdout] test eval::tests::test_sync_function_passes ... ok
[INFO] [stdout] test eval::tests::test_sync_function_fails_on_wrong_expected ... ok
[INFO] [stdout] test eval::tests::test_unicode_json_serialization_roundtrip ... ok
[INFO] [stdout] test eval::tests::test_starts_with_matcher_fails ... ok
[INFO] [stdout] test eval::tests::test_mock_http_get_json_consumed_by_json_array_len ... ok
[INFO] [stdout] test eval::tests::test_with_positional_strings ... ok
[INFO] [stdout] test eval::tests::test_value_display_utf8_string ... ok
[INFO] [stdout] test eval::tests::test_session_apply_async_nested_async_with_mocks ... ok
[INFO] [stdout] test eval::tests::test_orchestrator_async_sleep_with_mock ... ok
[INFO] [stdout] test eval::tests::test_orchestrator_async_http_get_with_mock ... ok
[INFO] [stdout] test eval::tests::test_orchestrator_mock_json_escape_json_get_json_array_len ... ok
[INFO] [stdout] test eval::tests::test_zero_arg_function_as_test_param_value ... ok
[INFO] [stdout] test eval::tests::value_err_clone_preserves_value ... ok
[INFO] [stdout] test eval::tests::undeclared_shared_var_still_errors ... ok
[INFO] [stdout] test eval::tests::test_session_apply_async_runs_async_tests_with_mocks ... ok
[INFO] [stdout] test eval::tests::union_variant_hashset_used_in_eval ... ok
[INFO] [stdout] test eval::tests::user_function_call_uses_interned_env ... ok
[INFO] [stdout] test eval::tests::value_as_list_mut_returns_none_for_non_list ... ok
[INFO] [stdout] test eval::tests::value_as_list_returns_inner_slice ... ok
[INFO] [stdout] test eval::tests::value_as_str_returns_inner_slice ... ok
[INFO] [stdout] test eval::tests::value_as_list_mut_cow_semantics ... ok
[INFO] [stdout] test eval::tests::value_err_display_correct ... ok
[INFO] [stdout] test eval::tests::value_is_truthy_with_arc_string ... ok
[INFO] [stdout] test eval::tests::value_list_clone_shares_arc ... ok
[INFO] [stdout] test eval::tests::value_each_loop_with_arc_list ... ok
[INFO] [stdout] test eval::tests::test_mocked_http_utf8_roundtrip ... ok
[INFO] [stdout] test eval::tests::test_orchestrator_nested_async_with_mock ... ok
[INFO] [stdout] test eval::tests::test_mocked_llm_utf8_roundtrip ... ok
[INFO] [stdout] test eval::tests::value_list_uses_arc_for_cheap_clone ... ok
[INFO] [stdout] test eval::tests::value_string_display_correct ... ok
[INFO] [stdout] test eval::tests::value_matches_equality_with_arc ... ok
[INFO] [stdout] test eval::tests::value_list_operations_with_arc_wrapper ... ok
[INFO] [stdout] test eval::tests::value_match_pattern_with_arc_union ... ok
[INFO] [stdout] test intern::tests::test_clone_preserves_ids ... ok
[INFO] [stdout] test eval::tests::value_struct_field_lookup_with_arc_keys ... ok
[INFO] [stdout] test eval::tests::value_string_builtin_ops_through_arc ... ok
[INFO] [stdout] test eval::tests::while_loop_counter ... ok
[INFO] [stdout] test eval::tests::value_string_uses_arc_for_cheap_clone ... ok
[INFO] [stdout] test eval::tests::value_struct_clone_shares_field_arc ... ok
[INFO] [stdout] test eval::tests::value_union_variant_clone_preserves_value ... ok
[INFO] [stdout] test intern::tests::test_display_interner_unknown_id_fallback ... ok
[INFO] [stdout] test intern::tests::test_display_interner_set_and_resolve ... ok
[INFO] [stdout] test intern::tests::test_clone_then_extend ... ok
[INFO] [stdout] test eval::tests::value_string_clone_is_cheap_arc_bump ... ok
[INFO] [stdout] test eval::tests::while_loop_factorial ... ok
[INFO] [stdout] test intern::tests::test_display_interner_consistent_ids_with_shared ... ok
[INFO] [stdout] test intern::tests::test_intern_basic ... ok
[INFO] [stdout] test eval::tests::while_loop_accumulator ... ok
[INFO] [stdout] test intern::tests::test_empty_string ... ok
[INFO] [stdout] test intern::tests::test_get_without_interning ... ok
[INFO] [stdout] test intern::tests::test_shared_interner_copy_on_write ... ok
[INFO] [stdout] test intern::tests::test_shared_interner_default ... ok
[INFO] [stdout] test intern::tests::test_intern_display_roundtrip ... ok
[INFO] [stdout] test intern::tests::test_intern_sequential_ids ... ok
[INFO] [stdout] test library::tests::test_load_error_struct ... ok
[INFO] [stdout] test library::tests::test_library_query_in_handle_query ... ok
[INFO] [stdout] test intern::tests::test_resolve_out_of_range ... ok
[INFO] [stdout] test intern::tests::test_shared_interner_basic ... ok
[INFO] [stdout] test intern::tests::test_with_capacity ... ok
[INFO] [stdout] test library::tests::test_affected_module_names ... ok
[INFO] [stdout] test library::tests::test_load_module_replaces_functions_correctly ... ok
[INFO] [stdout] test library::tests::test_load_module_source_fails_without_removal ... ok
[INFO] [stdout] test intern::tests::test_shared_interner_clone_is_cheap ... ok
[INFO] [stdout] test library::tests::test_load_module_source_over_existing_module_with_startup ... ok
[INFO] [stdout] test library::tests::test_load_errors_recorded_during_library_load ... ok
[INFO] [stdout] test library::tests::test_multiple_load_errors ... ok
[INFO] [stdout] test library::tests::test_reload_nonexistent_module_fails ... ok
[INFO] [stdout] test library::tests::test_query_library_without_state ... ok
[INFO] [stdout] test library::tests::test_query_library_shows_load_errors ... ok
[INFO] [stdout] test library::tests::test_source_qualified_lookup ... ok
[INFO] [stdout] test library::tests::test_reconstruct_module_source_roundtrips ... ok
[INFO] [stdout] test library::tests::test_query_library_no_errors_no_section ... ok
[INFO] [stdout] test library::tests::test_persist_and_load_preserves_tests ... ok
[INFO] [stdout] test llm::tests::parses_rate_limit_reset_timestamp_header ... ok
[INFO] [stdout] test llm::tests::marks_429_as_retryable ... ok
[INFO] [stdout] test llm::tests::parses_retry_after_from_json_body ... ok
[INFO] [stdout] test library::tests::test_symbols_no_bare_duplicates ... ok
[INFO] [stdout] test library::tests::test_session_apply_persists_module ... ok
[INFO] [stdout] test library::tests::test_persist_and_load_module ... ok
[INFO] [stdout] test parser::tests::code_fences_stripped ... ok
[INFO] [stdout] test llm::tests::build_output_keeps_multiple_opencode_directives ... ok
[INFO] [stdout] test llm::tests::parses_retry_after_seconds_header ... ok
[INFO] [stdout] test intern::tests::test_many_strings ... ok
[INFO] [stdout] test parser::tests::agent_basic ... ok
[INFO] [stdout] test parser::tests::agent_with_bare_scope ... ok
[INFO] [stdout] test library::tests::test_reload_specific_module ... ok
[INFO] [stdout] test parser::tests::done_operation ... ok
[INFO] [stdout] test parser::tests::agent_with_quoted_scope ... ok
[INFO] [stdout] test parser::tests::blank_lines_skipped ... ok
[INFO] [stdout] test parser::tests::error_expr_empty_input ... ok
[INFO] [stdout] test parser::tests::error_expr_incomplete_binary ... ok
[INFO] [stdout] test parser::tests::comments_are_skipped ... ok
[INFO] [stdout] test parser::tests::empty_source ... ok
[INFO] [stdout] test parser::tests::each_in_function ... ok
[INFO] [stdout] test parser::tests::error_expr_unmatched_paren ... ok
[INFO] [stdout] test parser::tests::error_module_missing_name ... ok
[INFO] [stdout] test parser::tests::error_move_needs_at_least_two_args ... ok
[INFO] [stdout] test parser::tests::error_remove_route_missing_path ... ok
[INFO] [stdout] test parser::tests::error_replace_missing_target ... ok
[INFO] [stdout] test parser::tests::error_test_missing_function_name ... ok
[INFO] [stdout] test parser::tests::error_unroute_missing_path ... ok
[INFO] [stdout] test parser::tests::eval_function_name ... ok
[INFO] [stdout] test parser::tests::eval_function_with_args ... ok
[INFO] [stdout] test parser::tests::eval_inline_expression ... ok
[INFO] [stdout] test parser::tests::error_remove_missing_target ... ok
[INFO] [stdout] test parser::tests::error_route_missing_handler ... ok
[INFO] [stdout] test parser::tests::error_shared_missing_equals ... ok
[INFO] [stdout] test parser::tests::eval_module_qualified_function ... ok
[INFO] [stdout] test parser::tests::expr_and_or ... ok
[INFO] [stdout] test parser::tests::eval_inline_expression_still_works ... ok
[INFO] [stdout] test parser::tests::error_route_missing_arrow ... ok
[INFO] [stdout] test parser::tests::expr_and_or_precedence ... ok
[INFO] [stdout] test parser::tests::error_shared_missing_type ... ok
[INFO] [stdout] test parser::tests::expr_bool_true ... ok
[INFO] [stdout] test parser::tests::eval_module_qualified_function_with_args ... ok
[INFO] [stdout] test parser::tests::expr_chained_field_access ... ok
[INFO] [stdout] test parser::tests::expr_bool_false ... ok
[INFO] [stdout] test parser::tests::expr_field_access ... ok
[INFO] [stdout] test parser::tests::expr_add ... ok
[INFO] [stdout] test parser::tests::expr_comparison_operators ... ok
[INFO] [stdout] test parser::tests::expr_function_call_no_args ... ok
[INFO] [stdout] test parser::tests::expr_div_and_mod ... ok
[INFO] [stdout] test parser::tests::expr_ident ... ok
[INFO] [stdout] test parser::tests::expr_int_literal ... ok
[INFO] [stdout] test parser::tests::expr_cast ... ok
[INFO] [stdout] test parser::tests::expr_float_literal ... ok
[INFO] [stdout] test parser::tests::expr_function_call_multi_args ... ok
[INFO] [stdout] test parser::tests::expr_complex_compound ... ok
[INFO] [stdout] test parser::tests::expr_function_call_one_arg ... ok
[INFO] [stdout] test parser::tests::expr_nested_function_calls ... ok
[INFO] [stdout] test parser::tests::expr_list_call ... ok
[INFO] [stdout] test parser::tests::expr_not ... ok
[INFO] [stdout] test parser::tests::expr_mul_add_precedence ... ok
[INFO] [stdout] test parser::tests::expr_string_literal ... ok
[INFO] [stdout] test parser::tests::expr_negative_int ... ok
[INFO] [stdout] test parser::tests::expr_parenthesized ... ok
[INFO] [stdout] test parser::tests::expr_parse_error_trailing_tokens ... ok
[INFO] [stdout] test parser::tests::expr_struct_literal ... ok
[INFO] [stdout] test parser::tests::expr_method_call_on_field ... ok
[INFO] [stdout] test parser::tests::expr_parse_error_incomplete ... ok
[INFO] [stdout] test parser::tests::fn_all_common_effects ... ok
[INFO] [stdout] test parser::tests::expr_sub ... ok
[INFO] [stdout] test parser::tests::expr_string_with_escapes ... ok
[INFO] [stdout] test parser::tests::fn_body_without_explicit_end ... ok
[INFO] [stdout] test parser::tests::fn_empty_body ... ok
[INFO] [stdout] test parser::tests::fn_list_return_type ... ok
[INFO] [stdout] test parser::tests::fn_multiple_effects ... ok
[INFO] [stdout] test parser::tests::fn_io_async_combination ... ok
[INFO] [stdout] test parser::tests::fn_single_effect_fail ... ok
[INFO] [stdout] test parser::tests::fn_single_effect_io ... ok
[INFO] [stdout] test parser::tests::fn_pure_no_params ... ok
[INFO] [stdout] test parser::tests::fn_with_params ... ok
[INFO] [stdout] test parser::tests::fn_with_effects ... ok
[INFO] [stdout] test parser::tests::mock_with_multiple_patterns ... ok
[INFO] [stdout] test parser::tests::fn_result_return_type ... ok
[INFO] [stdout] test parser::tests::fn_io_async_fail_combination ... ok
[INFO] [stdout] test parser::tests::message_command ... ok
[INFO] [stdout] test parser::tests::mock_operation ... ok
[INFO] [stdout] test parser::tests::module_empty ... ok
[INFO] [stdout] test parser::tests::module_stops_at_next_module ... ok
[INFO] [stdout] test parser::tests::match_in_function ... ok
[INFO] [stdout] test parser::tests::module_qualified_call_in_statement ... ok
[INFO] [stdout] test parser::tests::module_qualified_function_call_expr ... ok
[INFO] [stdout] test parser::tests::full_program_multiple_ops ... ok
[INFO] [stdout] test parser::tests::module_with_function ... ok
[INFO] [stdout] test parser::tests::move_multiple_functions ... ok
[INFO] [stdout] test parser::tests::move_operation ... ok
[INFO] [stdout] test parser::tests::module_with_type_and_function ... ok
[INFO] [stdout] test parser::tests::move_single_function ... ok
[INFO] [stdout] test parser::tests::multiline_type_continuation ... ok
[INFO] [stdout] test parser::tests::module_with_shared_var ... ok
[INFO] [stdout] test parser::tests::module_qualified_in_let ... ok
[INFO] [stdout] test parser::tests::multiline_type_three_lines ... ok
[INFO] [stdout] test parser::tests::multiline_type_stops_at_plus_operation ... ok
[INFO] [stdout] test parser::tests::multiline_type_stops_at_blank_line ... ok
[INFO] [stdout] test parser::tests::module_with_multiple_types_and_functions ... ok
[INFO] [stdout] test parser::tests::multiline_type_with_leading_comma_stripped ... ok
[INFO] [stdout] test parser::tests::parse_doc_on_function ... ok
[INFO] [stdout] test parser::tests::parse_event_bad_subcommand ... ok
[INFO] [stdout] test parser::tests::parse_doc_on_module ... ok
[INFO] [stdout] test parser::tests::opencode_command ... ok
[INFO] [stdout] test parser::tests::parse_event_register ... ok
[INFO] [stdout] test parser::tests::nested_if_in_function ... ok
[INFO] [stdout] test parser::tests::parse_module_source_channel_no_config ... ok
[INFO] [stdout] test parser::tests::opencode_stops_at_any_new_operation_line ... ok
[INFO] [stdout] test parser::tests::multiple_opencode_commands ... ok
[INFO] [stdout] test parser::tests::parse_event_emit ... ok
[INFO] [stdout] test parser::tests::parse_event_register_missing_type ... ok
[INFO] [stdout] test parser::tests::parse_module_source_timer ... ok
[INFO] [stdout] test parser::tests::parse_source_add_timer ... ok
[INFO] [stdout] test parser::tests::parse_module_source_multiple_config ... ok
[INFO] [stdout] test parser::tests::parse_shutdown_with_effects ... ok
[INFO] [stdout] test parser::tests::parse_source_add_channel ... ok
[INFO] [stdout] test parser::tests::parse_source_add_event ... ok
[INFO] [stdout] test parser::tests::parse_source_remove ... ok
[INFO] [stdout] test parser::tests::parse_source_timer_shorthand_invalid_interval ... ok
[INFO] [stdout] test parser::tests::parse_source_timer_shorthand_in_startup ... ok
[INFO] [stdout] test parser::tests::parse_source_add_missing_as ... ok
[INFO] [stdout] test parser::tests::parse_source_list ... ok
[INFO] [stdout] test parser::tests::parse_source_bad_subcommand ... ok
[INFO] [stdout] test parser::tests::parse_source_timer_shorthand_missing_interval ... ok
[INFO] [stdout] test parser::tests::parse_source_replace ... ok
[INFO] [stdout] test parser::tests::parse_source_timer_shorthand ... ok
[INFO] [stdout] test parser::tests::plan_done ... ok
[INFO] [stdout] test parser::tests::parse_startup_no_effects ... ok
[INFO] [stdout] test parser::tests::plan_fail ... ok
[INFO] [stdout] test parser::tests::plan_set_strips_numbering ... ok
[INFO] [stdout] test parser::tests::query_deps ... ok
[INFO] [stdout] test parser::tests::parse_standalone_doc_as_operation ... ok
[INFO] [stdout] test parser::tests::query_passthrough ... ok
[INFO] [stdout] test parser::tests::plan_set_with_continuation_lines ... ok
[INFO] [stdout] test parser::tests::query_source ... ok
[INFO] [stdout] test parser::tests::parse_startup_with_effects ... ok
[INFO] [stdout] test parser::tests::remove_route_lowercased_method ... ok
[INFO] [stdout] test parser::tests::plan_show ... ok
[INFO] [stdout] test parser::tests::remove_module ... ok
[INFO] [stdout] test parser::tests::remove_type ... ok
[INFO] [stdout] test parser::tests::replace_mutation ... ok
[INFO] [stdout] test parser::tests::replace_with_let_and_return ... ok
[INFO] [stdout] test parser::tests::replace_with_multiple_statements ... ok
[INFO] [stdout] test parser::tests::remove_operation ... ok
[INFO] [stdout] test parser::tests::remove_route ... ok
[INFO] [stdout] test parser::tests::roadmap_add ... ok
[INFO] [stdout] test parser::tests::roadmap_show ... ok
[INFO] [stdout] test parser::tests::roadmap_done ... ok
[INFO] [stdout] test parser::tests::route_delete ... ok
[INFO] [stdout] test parser::tests::route_get ... ok
[INFO] [stdout] test parser::tests::route_unquoted_path ... ok
[INFO] [stdout] test parser::tests::route_with_complex_path ... ok
[INFO] [stdout] test parser::tests::shared_bool_default ... ok
[INFO] [stdout] test parser::tests::route_method_lowercased_gets_uppercased ... ok
[INFO] [stdout] test parser::tests::route_post ... ok
[INFO] [stdout] test parser::tests::shared_with_generic_type ... ok
[INFO] [stdout] test parser::tests::stmt_await ... ok
[INFO] [stdout] test parser::tests::roadmap_remove ... ok
[INFO] [stdout] test parser::tests::route_put ... ok
[INFO] [stdout] test parser::tests::shared_string_default ... ok
[INFO] [stdout] test parser::tests::shared_var_declaration ... ok
[INFO] [stdout] test parser::tests::stmt_call ... ok
[INFO] [stdout] test parser::tests::stmt_check ... ok
[INFO] [stdout] test parser::tests::shared_with_struct_literal_default ... ok
[INFO] [stdout] test parser::tests::stmt_if_elif_else_end ... ok
[INFO] [stdout] test parser::tests::stmt_let_with_expr ... ok
[INFO] [stdout] test parser::tests::stmt_match_case_end ... ok
[INFO] [stdout] test parser::tests::stmt_return ... ok
[INFO] [stdout] test parser::tests::stmt_each_end ... ok
[INFO] [stdout] test parser::tests::stmt_if_then_end ... ok
[INFO] [stdout] test parser::tests::stmt_let ... ok
[INFO] [stdout] test parser::tests::stmt_return_expr ... ok
[INFO] [stdout] test parser::tests::stmt_set ... ok
[INFO] [stdout] test parser::tests::stmt_match_wildcard ... ok
[INFO] [stdout] test parser::tests::test_block_key_value ... ok
[INFO] [stdout] test parser::tests::test_block_multiple_cases ... ok
[INFO] [stdout] test parser::tests::test_block_simple ... ok
[INFO] [stdout] test parser::tests::test_input_empty ... ok
[INFO] [stdout] test parser::tests::test_input_function_call ... ok
[INFO] [stdout] test parser::tests::stmt_spawn ... ok
[INFO] [stdout] test parser::tests::stmt_while_end ... ok
[INFO] [stdout] test parser::tests::test_input_positional_multiple ... ok
[INFO] [stdout] test parser::tests::test_input_single_expr ... ok
[INFO] [stdout] test parser::tests::test_err_matcher_parse ... ok
[INFO] [stdout] test parser::tests::test_input_string ... ok
[INFO] [stdout] test parser::tests::test_input_key_value ... ok
[INFO] [stdout] test parser::tests::test_module_context_preserved_across_test_block ... ok
[INFO] [stdout] test parser::tests::test_module_context_multiple_tests_interleaved ... ok
[INFO] [stdout] test parser::tests::test_module_still_breaks_on_non_test_commands ... ok
[INFO] [stdout] test parser::tests::test_module_test_without_fn_after ... ok
[INFO] [stdout] test parser::tests::type_struct ... ok
[INFO] [stdout] test parser::tests::type_struct_with_generic_field ... ok
[INFO] [stdout] test parser::tests::type_union_with_payload ... ok
[INFO] [stdout] test parser::tests::test_starts_with_matcher_parse ... ok
[INFO] [stdout] test parser::tests::test_two_modules_with_tests ... ok
[INFO] [stdout] test parser::tests::test_with_matcher ... ok
[INFO] [stdout] test parser::tests::type_recursive ... ok
[INFO] [stdout] test parser::tests::undo_command ... ok
[INFO] [stdout] test parser::tests::type_union_variants ... ok
[INFO] [stdout] test parser::tests::union_single_variant_needs_pipe ... ok
[INFO] [stdout] test parser::tests::test_with_after_assertion ... ok
[INFO] [stdout] test parser::tests::union_mixed_payload_counts ... ok
[INFO] [stdout] test parser::tests::union_zero_payload_only ... ok
[INFO] [stdout] test permissions::tests::gemma4s_execute_only ... ok
[INFO] [stdout] test parser::tests::union_with_generic_payload ... ok
[INFO] [stdout] test parser::tests::unmock_command ... ok
[INFO] [stdout] test permissions::tests::gpt54_mixed_permissions ... ok
[INFO] [stdout] test permissions::tests::load_from_string ... ok
[INFO] [stdout] test permissions::tests::process_level_caps_model ... ok
[INFO] [stdout] test permissions::tests::opencode_requires_both_process_and_model ... ok
[INFO] [stdout] test parser::tests::unroute_shorthand ... ok
[INFO] [stdout] test permissions::tests::opus_full_access ... ok
[INFO] [stdout] test parser::tests::while_in_function ... ok
[INFO] [stdout] test permissions::tests::group_lookup ... ok
[INFO] [stdout] test session::tests::agent_branch_fork_isolates_runtime ... ok
[INFO] [stdout] test session::tests::agent_branch_merge_propagates_shared_var_changes ... ok
[INFO] [stdout] test session::tests::agent_branch_fork_creates_independent_program ... ok
[INFO] [stdout] test session::tests::conversation_manager_separate_contexts ... ok
[INFO] [stdout] test permissions::tests::unknown_model_uses_default ... ok
[INFO] [stdout] test session::tests::conversation_manager_serializes ... ok
[INFO] [stdout] test permissions::tests::user_only_caps_core_groups ... ok
[INFO] [stdout] test session::tests::agent_branch_mutation_independent ... ok
[INFO] [stdout] test session::tests::agent_branch_merge_ignores_unchanged_vars ... ok
[INFO] [stdout] test session::tests::conversation_manager_temporary_pruning ... ok
[INFO] [stdout] test session::tests::conversation_manager_get_or_create ... ok
[INFO] [stdout] test session::tests::conversation_message_roles ... ok
[INFO] [stdout] test session::tests::record_mutation_failures_keeps_last_twenty_entries ... ok
[INFO] [stdout] test session::tests::agent_branch_merge_applies_mutations ... ok
[INFO] [stdout] test session::tests::recent_failure_hint_detects_repeated_recent_errors ... ok
[INFO] [stdout] test session::tests::sandbox_discard_without_enter_fails ... ok
[INFO] [stdout] test session::tests::runtime_state_no_longer_has_roadmap_or_plan ... ok
[INFO] [stdout] test session::tests::sandbox_double_enter_rejected ... ok
[INFO] [stdout] test session::tests::conversation_with_callback ... ok
[INFO] [stdout] test session::tests::sandbox_merge_without_enter_fails ... ok
[INFO] [stdout] test session::tests::session_meta_default_has_empty_plan ... ok
[INFO] [stdout] test session::tests::invalidate_and_retest_restores_ast_test_pass_flags ... ok
[INFO] [stdout] test session::tests::sandbox_enter_and_status ... ok
[INFO] [stdout] test session::tests::session_meta_plan_field_round_trips_in_memory ... ok
[INFO] [stdout] test session::tests::session_meta_serde_roundtrip ... ok
[INFO] [stdout] test session::tests::session_serde_flatten_fields_at_top_level ... ok
[INFO] [stdout] test session::tests::store_test_marks_ast_tests_passed ... ok
[INFO] [stdout] test session::tests::summarize_failure_patterns_groups_common_errors ... ok
[INFO] [stdout] test session::tests::sandbox_merge_keeps_changes ... ok
[INFO] [stdout] test session::tests::session_serde_flatten_roundtrip ... ok
[INFO] [stdout] test typeck::tests::call_graph_no_calls ... ok
[INFO] [stdout] test typeck::tests::check_branch_both_arms_type_ok ... ok
[INFO] [stdout] test typeck::tests::call_graph_basic ... ok
[INFO] [stdout] test typeck::tests::check_call_correct_arg_count ... ok
[INFO] [stdout] test session::tests::sandbox_discard_reverts_changes ... ok
[INFO] [stdout] test typeck::tests::check_call_too_many_args ... ok
[INFO] [stdout] test typeck::tests::check_call_wrong_arg_count ... ok
[INFO] [stdout] test typeck::tests::check_condition_is_bool ... ok
[INFO] [stdout] test typeck::tests::check_complex_program_no_errors ... ok
[INFO] [stdout] test session::tests::session_meta_plan_serializes_with_session ... ok
[INFO] [stdout] test typeck::tests::check_each_body_type_ok ... ok
[INFO] [stdout] test typeck::tests::call_graph_module_functions ... ok
[INFO] [stdout] test typeck::tests::check_let_type_mismatch ... ok
[INFO] [stdout] test typeck::tests::check_let_type_ok ... ok
[INFO] [stdout] test typeck::tests::check_branch_return_mismatch_in_else ... ok
[INFO] [stdout] test typeck::tests::check_each_set_mismatch_in_body ... ok
[INFO] [stdout] test typeck::tests::check_module_function_resolution ... ok
[INFO] [stdout] test typeck::tests::check_return_type_mismatch ... ok
[INFO] [stdout] test typeck::tests::check_match_arm_let_binding_ok ... ok
[INFO] [stdout] test typeck::tests::check_match_arm_return_type_mismatch ... ok
[INFO] [stdout] test typeck::tests::check_match_arm_return_type_ok ... ok
[INFO] [stdout] test typeck::tests::check_set_type_ok ... ok
[INFO] [stdout] test typeck::tests::check_set_undefined_variable ... ok
[INFO] [stdout] test typeck::tests::check_return_result_inner_type_ok ... ok
[INFO] [stdout] test typeck::tests::check_set_type_mismatch ... ok
[INFO] [stdout] test typeck::tests::check_struct_field_access_ok ... ok
[INFO] [stdout] test typeck::tests::collect_callees_none ... ok
[INFO] [stdout] test typeck::tests::check_struct_field_wrong_return_type ... ok
[INFO] [stdout] test typeck::tests::reconstruct_binary_expr ... ok
[INFO] [stdout] test typeck::tests::reconstruct_call_expr ... ok
[INFO] [stdout] test typeck::tests::query_source_unknown_function ... ok
[INFO] [stdout] test typeck::tests::collect_callees_from_call ... ok
[INFO] [stdout] test typeck::tests::check_while_condition_ok ... ok
[INFO] [stdout] test typeck::tests::query_callees ... ok
[INFO] [stdout] test typeck::tests::reconstruct_literal_bool ... ok
[INFO] [stdout] test typeck::tests::reconstruct_literal_int ... ok
[INFO] [stdout] test typeck::tests::query_empty ... ok
[INFO] [stdout] test typeck::tests::reconstruct_field_access ... ok
[INFO] [stdout] test typeck::tests::query_source_returns_function_source ... ok
[INFO] [stdout] test typeck::tests::query_symbols_lists_types_and_functions ... ok
[INFO] [stdout] test typeck::tests::reconstruct_literal_string ... ok
[INFO] [stdout] test typeck::tests::symbol_table_module_functions_qualified ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_effects ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_fail_effect ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_mut_effect ... ok
[INFO] [stdout] test typeck::tests::symbol_table_no_effects_for_pure ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_functions ... ok
[INFO] [stdout] test typeck::tests::types_compatible_int_float_coercion ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_types ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_unions ... ok
[INFO] [stdout] test typeck::tests::types_compatible_option_match ... ok
[INFO] [stdout] test typeck::tests::types_compatible_result_mismatch ... ok
[INFO] [stdout] test typeck::tests::symbol_table_registers_union_with_payloads ... ok
[INFO] [stdout] test typeck::tests::types_compatible_list_mismatch ... ok
[INFO] [stdout] test typeck::tests::types_incompatible_int_string ... ok
[INFO] [stdout] test typeck::tests::types_compatible_result_match ... ok
[INFO] [stdout] test typeck::tests::types_compatible_list_match ... ok
[INFO] [stdout] test validator::tests::allow_effectful_function_when_effects_match_body ... ok
[INFO] [stdout] test validator::tests::apply_function_with_effects ... ok
[INFO] [stdout] test validator::tests::apply_duplicate_function_updates ... ok
[INFO] [stdout] test validator::tests::apply_function ... ok
[INFO] [stdout] test validator::tests::apply_module_rejects_unexpected_operations ... ok
[INFO] [stdout] test validator::tests::apply_module_with_embedded_test_succeeds ... ok
[INFO] [stdout] test validator::tests::apply_module_with_function ... ok
[INFO] [stdout] test validator::tests::apply_remove_function ... ok
[INFO] [stdout] test validator::tests::apply_module_with_require_modules_and_embedded_test ... ok
[INFO] [stdout] test validator::tests::apply_struct_type ... ok
[INFO] [stdout] test validator::tests::apply_union_type ... ok
[INFO] [stdout] test validator::tests::convert_binary_op_arithmetic ... ok
[INFO] [stdout] test validator::tests::convert_effect_case_insensitive ... ok
[INFO] [stdout] test validator::tests::convert_binary_op_comparison ... ok
[INFO] [stdout] test validator::tests::convert_effect_invalid ... ok
[INFO] [stdout] test validator::tests::convert_binary_op_logic ... ok
[INFO] [stdout] test validator::tests::convert_effect_all_valid ... ok
[INFO] [stdout] test validator::tests::convert_type_option ... ok
[INFO] [stdout] test validator::tests::convert_type_list ... ok
[INFO] [stdout] test validator::tests::convert_type_user_struct ... ok
[INFO] [stdout] test validator::tests::convert_unary_op_all ... ok
[INFO] [stdout] test validator::tests::convert_type_map ... ok
[INFO] [stdout] test validator::tests::duplicate_shutdown_rejected ... ok
[INFO] [stdout] test validator::tests::convert_type_nested_generic ... ok
[INFO] [stdout] test validator::tests::duplicate_startup_rejected ... ok
[INFO] [stdout] test validator::tests::convert_type_result ... ok
[INFO] [stdout] test validator::tests::convert_type_wrong_arity ... ok
[INFO] [stdout] test validator::tests::convert_type_primitives ... ok
[INFO] [stdout] test validator::tests::is_builtin_name_false ... ok
[INFO] [stdout] test validator::tests::event_source_subscription_validates ... ok
[INFO] [stdout] test validator::tests::event_register_and_emit_in_function_body ... ok
[INFO] [stdout] test validator::tests::module_source_decl_multiple_config ... ok
[INFO] [stdout] test validator::tests::is_builtin_name_true ... ok
[INFO] [stdout] test validator::tests::full_service_module_round_trip ... ok
[INFO] [stdout] test validator::tests::parse_source_type_event ... ok
[INFO] [stdout] test validator::tests::module_source_decl_missing_handler ... ok
[INFO] [stdout] test validator::tests::module_source_decl_channel ... ok
[INFO] [stdout] test validator::tests::module_source_decl_round_trip ... ok
[INFO] [stdout] test validator::tests::parse_source_type_channel ... ok
[INFO] [stdout] test validator::tests::parse_source_type_timer ... ok
[INFO] [stdout] test validator::tests::parse_source_type_unknown ... ok
[INFO] [stdout] test validator::tests::module_sources_and_startup_coexist ... ok
[INFO] [stdout] test validator::tests::module_source_decl_timer ... ok
[INFO] [stdout] test validator::tests::reject_function_awaiting_io_builtin_without_io_effect ... ok
[INFO] [stdout] test validator::tests::reject_function_with_await_missing_async_effect ... ok
[INFO] [stdout] test validator::tests::module_source_decl_top_level_rejected ... ok
[INFO] [stdout] test validator::tests::reject_module_function_modifying_shared_state_without_mut_effect ... ok
[INFO] [stdout] test validator::tests::source_add_in_function_body ... ok
[INFO] [stdout] test validator::tests::module_source_with_startup_and_functions ... ok
[INFO] [stdout] test validator::tests::source_replace_in_function_body ... ok
[INFO] [stdout] test validator::tests::replace_function_preserves_existing_tests ... ok
[INFO] [stdout] test validator::tests::startup_at_top_level_rejected ... ok
[INFO] [stdout] test validator::tests::source_event_statements_round_trip ... ok
[INFO] [stdout] test validator::tests::startup_with_valid_effects ... ok
[INFO] [stdout] test validator::tests::source_timer_shorthand_in_startup ... ok
[INFO] [stdout] test validator::tests::shutdown_missing_async_rejected ... ok
[INFO] [stdout] test validator::tests::startup_missing_effects_rejected ... ok
[INFO] [stdout] test vm::tests::await_io_resolves_interned_name_for_suspension ... ok
[INFO] [stdout] test validator::tests::timer_with_expression_validates ... ok
[INFO] [stdout] test validator::tests::source_list_in_function_body ... ok
[INFO] [stdout] test validator::tests::source_remove_in_function_body ... ok
[INFO] [stdout] test validator::tests::startup_with_source_and_event_stmts ... ok
[INFO] [stdout] test vm::tests::compile_branch_if_else ... ok
[INFO] [stdout] test vm::tests::compile_builtin_call ... ok
[INFO] [stdout] test vm::tests::compile_cache_keyed_by_u32 ... ok
[INFO] [stdout] test vm::tests::compile_check_statement ... ok
[INFO] [stdout] test validator::tests::shutdown_with_valid_effects ... ok
[INFO] [stdout] test vm::tests::compile_await_io ... ok
[INFO] [stdout] test vm::tests::compile_ok_err_constructors ... ok
[INFO] [stdout] test vm::tests::compile_empty_function_gets_default_return ... ok
[INFO] [stdout] test vm::tests::compile_simple_let_return ... ok
[INFO] [stdout] test vm::tests::compile_struct_init_and_field_access ... ok
[INFO] [stdout] test vm::tests::compile_params_allocated_as_first_slots ... ok
[INFO] [stdout] test vm::tests::compile_while_loop ... ok
[INFO] [stdout] test vm::tests::compile_each_loop ... ok
[INFO] [stdout] test vm::tests::compile_user_function_call ... ok
[INFO] [stdout] test vm::tests::exec_await_io_suspends ... ok
[INFO] [stdout] test vm::tests::exec_arithmetic_compound ... ok
[INFO] [stdout] test vm::tests::exec_add ... ok
[INFO] [stdout] test vm::tests::compile_match_on_union ... ok
[INFO] [stdout] test vm::tests::exec_boolean_logic ... ok
[INFO] [stdout] test vm::tests::exec_builtin_concat ... ok
[INFO] [stdout] test vm::tests::exec_builtin_len ... ok
[INFO] [stdout] test vm::tests::exec_double ... ok
[INFO] [stdout] test vm::tests::exec_float_arithmetic ... ok
[INFO] [stdout] test vm::tests::exec_check_fail ... ok
[INFO] [stdout] test vm::tests::exec_check_pass ... ok
[INFO] [stdout] test vm::tests::exec_constant_return ... ok
[INFO] [stdout] test vm::tests::exec_concat_builtin_via_vm ... ok
[INFO] [stdout] test vm::tests::exec_comparison_ops ... ok
[INFO] [stdout] test vm::tests::exec_if_else_positive ... ok
[INFO] [stdout] test vm::tests::exec_while_loop ... ok
[INFO] [stdout] test vm::tests::exec_while_loop_sum ... ok
[INFO] [stdout] test vm::tests::interned_call_opcode_uses_u32_not_string ... ok
[INFO] [stdout] test vm::tests::exec_string_return ... ok
[INFO] [stdout] test vm::tests::exec_user_function_call ... ok
[INFO] [stdout] test vm::tests::interned_builtin_resolve_for_error_messages ... ok
[INFO] [stdout] test vm::tests::interned_ids_consistent_across_callees ... ok
[INFO] [stdout] test vm::tests::recursive_function_with_interned_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1133 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "84c9046a57acc8438de27da10c6226b4d272b9ceb87307cde37d1b45034c2ef2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84c9046a57acc8438de27da10c6226b4d272b9ceb87307cde37d1b45034c2ef2", kill_on_drop: false }`
[INFO] [stdout] 84c9046a57acc8438de27da10c6226b4d272b9ceb87307cde37d1b45034c2ef2
